PHP + Memcache实现简单的统计当前在线人数功能

2023-06-01 00:00:00 在线 统计 人数

实现简单的统计当前在线人数功能代码比较简单,如果本身项目框架有实现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);

有兴趣的可以尝试测试一下

相关文章