php+memcache实现的网站在线人数统计代码


Posted in PHP onJuly 04, 2014

今天闲来无事,想在博客统计中显示在线人数。在网上找了好多例子,不是数据库存储数据就是文件存储,代码也看起来过于复杂。

晚上回来后,构思了下,看到我服务器中安装有 Memcache 服务,何不用 Memcache 实现呢。

下面就来讲下实现过程:

效果图:

php+memcache实现的网站在线人数统计代码

实现代码:

<?php
$mc = new Memcache ();

// 连接memcache
$mc->connect ( "127.0.0.1", 11211 );

// 获取 在线用户 IP 和 在线时间数据
$online_members = $mc->get ( 'online_members' );

// 如果为空,初始化数据
if (! $online_members) {
 $online_members = array ();
}

// 获取用户ip
$ip = $_SERVER ["REMOTE_ADDR"];

// 为访问用户重新设置在线时间
$online_members [$ip] = time ();

foreach ($online_members as $k => $v) {
 // 如果三分钟后再未访问页面,刚视为过期
 if (time() - $v > 180) {
 unset($online_members[$k]);
 }
}

// 重新设置在线用户数据
$mc->set ( 'online_members', $online_members );

// 重新获取在线用户数据
$online_members = $mc->get ( 'online_members' );

// 输入统计在线人数
echo count($online_members);
?>
PHP 相关文章推荐
在PHP中使用Sockets 从Usenet中获取文件
Jan 10 PHP
php array_intersect比array_diff快(附详细的使用说明)
Jul 03 PHP
PHP获取栏目的所有子级和孙级栏目的ID号示例
Apr 01 PHP
制作个性化的WordPress登陆界面的实例教程
May 21 PHP
php+mysql查询实现无限下级分类树输出示例
Oct 03 PHP
PHP实现支付宝即时到账功能
Dec 21 PHP
基于php中echo用逗号和用点号的区别详解
Jan 23 PHP
PHP的RSA加密解密方法以及开发接口使用
Feb 11 PHP
Laravel 前端资源配置教程
Oct 18 PHP
如何在Laravel5.8中正确地应用Repository设计模式
Nov 26 PHP
ThinkPHP5.1验证码功能实现的示例代码
Jun 08 PHP
Docker 安装 PHP并与Nginx的部署实例讲解
Feb 27 PHP
PHP轻量级数据库操作类Medoo增加、删除、修改、查询例子
Jul 04 #PHP
CodeIgniter安全相关设置汇总
Jul 03 #PHP
php使用pack处理二进制文件的方法
Jul 03 #PHP
PHP源码分析之变量的存储过程分解
Jul 03 #PHP
ThinkPHP让分页保持搜索状态的方法
Jul 02 #PHP
ThinkPHP实现批量删除数据的代码实例
Jul 02 #PHP
Thinkphp中import的几个用法详细介绍
Jul 02 #PHP
You might like
php比较两个绝对时间的大小
2014/01/31 PHP
PHP FATAL ERROR: CALL TO UNDEFINED FUNCTION BCMUL()解决办法
2014/05/04 PHP
php中chdir()函数用法实例
2014/11/13 PHP
php禁止某ip或ip地址段访问的方法
2015/02/25 PHP
PHP getNamespaces()函数讲解
2019/02/03 PHP
Juqery Html(),append()等方法的Bug解决方法
2010/12/13 Javascript
event.X和event.clientX的区别分析
2011/10/06 Javascript
js根据给定的日期计算当月有多少天实现思路及代码
2013/02/25 Javascript
JavaScript获取table中某一列的值的方法
2014/05/06 Javascript
浅谈javascript回调函数
2014/12/07 Javascript
轻松实现JavaScript图片切换
2016/01/12 Javascript
javascript创建对象的几种模式介绍
2016/05/06 Javascript
JavaScript实现页面跳转的方式汇总
2016/05/16 Javascript
jQuery购物网页经典制作案例
2016/08/19 Javascript
Vue.js每天必学之Class与样式绑定
2016/09/05 Javascript
微信小程序 火车票查询实例讲解
2016/10/17 Javascript
最新Javascript程序员面试试题和解题方法
2017/11/23 Javascript
浅谈vuex的基本用法和mapaction传值问题
2019/11/08 Javascript
用Python编写生成树状结构的文件目录的脚本的教程
2015/05/04 Python
python针对excel的操作技巧
2018/03/13 Python
django2用iframe标签完成网页内嵌播放b站视频功能
2018/06/20 Python
Python中typing模块与类型注解的使用方法
2019/08/05 Python
python__name__原理及用法详解
2019/11/02 Python
Python操作Sonqube API获取检测结果并打印过程解析
2019/11/27 Python
keras K.function获取某层的输出操作
2020/06/29 Python
基于Python爬取股票数据过程详解
2020/10/21 Python
美国休闲服装品牌:J.Crew Factory
2017/03/04 全球购物
美国最大的户外装备和服装购物网站:Backcountry
2019/10/15 全球购物
JSF面试题:Jsf中的核心类用那些?有什么作用?LiftCycle六大生命周期是什么?
2014/07/17 面试题
STP协议的主要用途是什么?为什么要用STP
2012/12/20 面试题
工程类专业自荐信范文
2014/03/09 职场文书
安全生产月活动总结
2014/05/04 职场文书
校园演讲稿汇总
2014/05/21 职场文书
职工小家建设活动方案
2014/08/25 职场文书
农民工工资支付承诺书
2015/05/04 职场文书
观后感的写法
2015/06/19 职场文书