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 相关文章推荐
WINDOWS 2000下使用ISAPI方式安装PHP
Sep 05 PHP
PHP利用COM对象访问SQLServer、Access
Oct 09 PHP
如何使用php判断所处服务器操作系统的类型
Jun 20 PHP
用 Composer构建自己的 PHP 框架之构建路由
Oct 30 PHP
PHP利用func_get_args和func_num_args函数实现函数重载实例
Nov 12 PHP
php对关联数组循环遍历的实现方法
Mar 13 PHP
PHP学习笔记(一):基本语法之标记、空白、和注释
Apr 17 PHP
php抽象类用法实例分析
Jul 07 PHP
在Yii2中使用Pjax导致Yii2内联脚本载入失败的原因分析
Mar 06 PHP
php UNIX时间戳用法详解
Feb 16 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
Sep 22 PHP
PHP生成二维码与识别二维码的方法详解【附源码下载】
Mar 07 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
Zend公司全球首推PHP认证
2006/10/09 PHP
ob_start(),ob_start('ob_gzhandler')使用
2006/12/25 PHP
基于php权限分配的实现代码
2013/04/28 PHP
thinkphp微信开之安全模式消息加密解密不成功的解决办法
2015/12/02 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
2017/11/17 PHP
jquery中radio checked问题
2015/03/16 Javascript
JavaScript实现的简单拖拽效果
2015/06/01 Javascript
在Node.js应用中读写Redis数据库的简单方法
2015/06/30 Javascript
js从外部获取图片的实现方法
2016/08/05 Javascript
JS实现中国公民身份证号码有效性验证
2017/02/20 Javascript
详解在WebStorm中添加Vue.js单文件组件的高亮及语法支持
2017/10/21 Javascript
原生JS+HTML5实现的可调节写字板功能示例
2018/08/30 Javascript
微信小程序使用map组件实现检索(定位位置)周边的POI功能示例
2019/01/23 Javascript
微信小程序实现的自定义分享功能示例
2019/02/12 Javascript
JavaScript深入V8引擎以及编写优化代码的5个技巧
2019/06/24 Javascript
JS模拟浏览器实现全局搜索功能
2019/09/11 Javascript
layui下拉列表select实现可输入查找的方法
2019/09/28 Javascript
layui时间控件选择时间范围的实现方法
2019/09/28 Javascript
JavaScript图片旋转效果实现方法详解
2020/06/28 Javascript
Vue双向数据绑定(MVVM)的原理
2020/10/03 Javascript
nodejs中使用worker_threads来创建新的线程的方法
2021/01/22 NodeJs
Python 调用DLL操作抄表机
2009/01/12 Python
python多线程操作实例
2014/11/21 Python
浅谈Python浅拷贝、深拷贝及引用机制
2016/12/15 Python
Python实现购物程序思路及代码
2017/07/24 Python
快速了解Python相对导入
2018/01/12 Python
PyTorch快速搭建神经网络及其保存提取方法详解
2018/04/28 Python
Python实现的远程登录windows系统功能示例
2018/06/21 Python
python中强大的format函数实例详解
2018/12/05 Python
Django models.py应用实现过程详解
2019/07/29 Python
Python devel安装失败问题解决方案
2020/06/09 Python
python字符串的index和find的区别详解
2020/06/20 Python
周年庆典主持词
2014/04/02 职场文书
车间安全生产管理制度
2015/08/06 职场文书
尊师重教主题班会
2015/08/14 职场文书
旅游安全责任协议书
2016/03/22 职场文书