PHP + Memcache实现简单的统计当前在线人数功能
实现简单的统计当前在线人数功能代码比较简单,如果本身项目框架有实现Cache文件缓存或者redis等,
同理改成redis/cache后也一样。
demo代码:
<?php
$memcache = new Memcache();
$memcache->connect("127.0.0.1", 11211); //获取 在线用户 IP 和 在线时间数据
$online = $memcache->get('online'); //为空,初始化数据
if (!$online) {
$online = array();
}
//获取用户IP
$ip = $_SERVER["REMOTE_ADDR"];
//为访问用户重新设置在线时间
$online[$ip] = time();
foreach ($online as $k => $v) {
//如果5分钟后再次访问页面,视为过期并销毁
if (time() - $v > 300) {
unset($online[$k]);
}
}
//重新设置在线用户数据
$memcache->set('online', $online);
//重新获取在线用户数据
$online = $memcache->get('online');
//输出统计在线人数
echo count($online), "";
//打印当前在线人员数据
var_dump($online);
完
有兴趣的可以尝试测试一下
相关文章