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获得当前的脚本网址
Dec 10 PHP
php下正则来匹配dede模板标签的代码
Aug 21 PHP
兼容性比较好的PHP生成缩略图的代码
Jan 12 PHP
discuz程序的PHP加密函数原理分析
Aug 05 PHP
在Ubuntu 14.04上部署 PHP 环境及 WordPress
Sep 02 PHP
PHP实现微信网页授权开发教程
Jan 19 PHP
PHP在linux上执行外部命令的方法
Feb 06 PHP
php获取手机端的号码以及ip地址实例代码
Sep 12 PHP
PHP fopen函数用法实例讲解
Feb 15 PHP
PHP开发的文字水印,缩略图,图片水印实现类与用法示例
Apr 12 PHP
laravel 错误处理,接口错误返回json代码
Oct 25 PHP
php计数排序算法的实现代码(附四个实例代码)
Mar 31 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知道与问问的采集插件代码
2010/10/12 PHP
PHP与C#分别格式化文件大小的代码
2011/05/14 PHP
php封装json通信接口详解及实例
2017/03/07 PHP
PHP常用header头定义代码示例汇总
2020/08/29 PHP
js每次Title显示不同的名言
2008/09/25 Javascript
小议javascript 设计模式 推荐
2009/10/28 Javascript
jQuery EasyUI API 中文文档 - TreeGrid 树表格使用介绍
2011/11/21 Javascript
js换图片效果可进行定时操作
2014/06/09 Javascript
js中string转int把String类型转化成int类型
2014/08/13 Javascript
$(&quot;&quot;).click与onclick的区别示例介绍
2014/09/25 Javascript
javascript实现tab响应式切换特效
2016/01/29 Javascript
jQuery获取attr()与prop()属性值的方法及区别介绍
2016/07/06 Javascript
Javascript中常用的检测方法小结
2016/10/08 Javascript
jquery中用jsonp实现搜索框功能
2016/10/18 Javascript
微信小程序之拖拽排序(代码分享)
2017/01/21 Javascript
在vscode里使用.vue代码模板的方法
2018/04/28 Javascript
Auto.js自动收取自己和好友蚂蚁森林能量脚本
2018/06/28 Javascript
纯异步nodejs文件夹(目录)复制功能
2019/09/03 NodeJs
html5以及jQuery实现本地图片上传前的预览代码实例讲解
2021/03/01 jQuery
python中in在list和dict中查找效率的对比分析
2018/05/04 Python
Sanic框架应用部署方法详解
2018/07/18 Python
win7下python3.6安装配置方法图文教程
2018/07/31 Python
python文字和unicode/ascll相互转换函数及简单加密解密实现代码
2019/08/12 Python
python+rsync精确同步指定格式文件
2019/08/29 Python
Python中的X[:,0]、X[:,1]、X[:,:,0]、X[:,:,1]、X[:,m:n]和X[:,:,m:n]
2020/02/13 Python
使用tensorflow实现VGG网络,训练mnist数据集方式
2020/05/26 Python
移动端html5 meta标签的神奇功效
2016/01/06 HTML / CSS
英国最大的独立家具零售商:Furniture Village
2016/09/06 全球购物
Kickers鞋英国官网:男士、女士和儿童鞋
2021/03/08 全球购物
公司清洁工岗位职责
2013/12/14 职场文书
证券期货行业个人的自我评价
2013/12/26 职场文书
质检部经理岗位职责
2014/02/19 职场文书
给老师的一封建议书
2014/03/13 职场文书
父母对孩子的寄语
2014/04/09 职场文书
Windows10下安装MySQL8
2021/04/06 MySQL
ORM模型框架操作mysql数据库的方法
2021/07/25 MySQL