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 相关文章推荐
PHP5+UTF8多文件上传类
Oct 17 PHP
将数组写入txt文件 var_export
Apr 21 PHP
PHP 柱状图实现代码
Dec 04 PHP
如何用php获取文件名后缀
Jun 09 PHP
ThinkPHP框架设计及扩展详解
Nov 25 PHP
PHP使用内置dir类实现目录遍历删除
Mar 31 PHP
php获取英文姓名首字母的方法
Jul 13 PHP
PHP和Mysql中转UTF8编码问题汇总
Oct 10 PHP
PHP常见字符串处理函数用法示例【转换,转义,截取,比较,查找,反转,切割】
Dec 24 PHP
万能的php分页类
Jul 06 PHP
PHP registerXPathNamespace()函数讲解
Feb 03 PHP
Laravel 模型关联基础教程详解
Sep 17 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
一个简单的自动发送邮件系统(二)
2006/10/09 PHP
php中curl、fsocket、file_get_content三个函数的使用比较
2014/05/09 PHP
php实现微信发红包
2015/12/05 PHP
php+MySQL实现登录时验证登录名和密码是否正确
2016/05/10 PHP
PHP下载远程图片的几种方法总结
2017/04/07 PHP
Javascript Cookie读写删除操作的函数
2010/03/02 Javascript
基于Jquery的回车成tab焦点切换效果代码(Enter To Tab )
2010/11/14 Javascript
JavaScript中setAttribute用法介绍
2013/07/20 Javascript
javascript中this的四种用法
2015/05/11 Javascript
JS模态窗口返回值兼容问题的完美解决方法
2016/05/28 Javascript
JS实现数组简单去重及数组根据对象中的元素去重操作示例
2018/01/05 Javascript
vue2.0 使用element-ui里的upload组件实现图片预览效果方法
2018/09/04 Javascript
在layui中对table中的数据进行判断(0、1)转换为提示信息的方法
2019/09/28 Javascript
JavaScript基于用户照片姓名生成海报
2020/05/29 Javascript
解决vue自定义指令导致的内存泄漏问题
2020/08/04 Javascript
[01:05:59]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.22
2019/09/05 DOTA
python批量修改文件后缀示例代码分享
2013/12/24 Python
python采用requests库模拟登录和抓取数据的简单示例
2014/07/05 Python
Python3利用Dlib实现摄像头实时人脸检测和平铺显示示例
2019/02/21 Python
python基于K-means聚类算法的图像分割
2019/10/30 Python
Python中的四种交换数值的方法解析
2019/11/18 Python
python编写softmax函数、交叉熵函数实例
2020/06/11 Python
python中os.remove()用法及注意事项
2021/01/31 Python
CSS3混合模式mix-blend-mode/background-blend-mode简介
2018/03/15 HTML / CSS
介绍下Lucene建立索引的过程
2016/03/02 面试题
业务代表的岗位职责
2013/11/16 职场文书
班会关于环保演讲稿
2013/12/29 职场文书
培训主管的职业生涯规划
2014/03/06 职场文书
毕业生实习期转正自我鉴定
2014/09/26 职场文书
2014年建筑工程工作总结
2014/12/03 职场文书
2015年农村党员干部主题教育活动总结
2015/03/25 职场文书
运动会1000米加油稿
2015/07/21 职场文书
Pillow图像处理库安装及使用
2022/04/12 Python
python中的random模块和相关函数详解
2022/04/22 Python
python开发人人对战的五子棋小游戏
2022/05/02 Python
Android Studio 计算器开发
2022/05/20 Java/Android