PHP+Memcache统计当前在线人数

废话不多说,直接上代码!

$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),"<br />";
//打印当前在线人员数据
var_dump($online);

 

posted @ 2014-01-27 17:19  狂热的猴子  阅读(272)  评论(0编辑  收藏  举报