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用户指南-cookies部分
Oct 09 PHP
攻克CakePHP系列一 连接MySQL数据库
Oct 22 PHP
php生成xml简单实例代码
Dec 16 PHP
php 数组二分法查找函数代码
Feb 16 PHP
CodeIgniter图像处理类的深入解析
Jun 17 PHP
php5.3 不支持 session_register() 此函数已启用的解决方法
Nov 12 PHP
php获得用户ip地址的比较不错的方法
Feb 08 PHP
Zend Framework基本页面布局分析
Mar 19 PHP
thinkphp框架实现删除和批量删除
Jun 29 PHP
PHP实现的链式队列结构示例
Sep 15 PHP
PHP+redis实现的悲观锁机制示例
Jun 12 PHP
PHP实现抽奖功能实例代码
Jun 30 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实现webservice实例
2014/11/06 PHP
CodeIgniter与PHP5.6的兼容问题
2015/07/16 PHP
整理php防注入和XSS攻击通用过滤
2015/09/13 PHP
tp5(thinkPHP5)框架连接数据库的方法示例
2018/12/24 PHP
Laravel相关的一些故障解决
2020/08/19 PHP
multiSteps 基于Jquery的多步骤滑动切换插件
2011/07/22 Javascript
javascript采用数组实现tab菜单切换效果
2012/12/12 Javascript
IE关闭时判断及AJAX注销案例学习
2013/02/18 Javascript
基于JavaScript实现div层跟随滚动条滑动
2016/01/12 Javascript
jQuery插件zTree实现获取一级节点数据的方法
2017/03/08 Javascript
Angular.js中数组操作的方法教程
2017/07/31 Javascript
Node.js服务器开启Gzip压缩教程
2017/08/11 Javascript
Angular实现的敏感文字自动过滤与提示功能示例
2017/12/29 Javascript
jQuery实现的简单手风琴效果示例
2018/08/29 jQuery
浅谈React碰到v-if
2018/11/04 Javascript
详解vantUI框架在vue项目中的应用踩坑
2018/12/06 Javascript
[46:14]完美世界DOTA2联赛PWL S3 Magma vs INK ICE 第一场 12.11
2020/12/16 DOTA
[57:31]DOTA2-DPC中国联赛 正赛 SAG vs CDEC BO3 第一场 2月1日
2021/03/11 DOTA
Python中dictionary items()系列函数的用法实例
2014/08/21 Python
用Python实现web端用户登录和注册功能的教程
2015/04/30 Python
Python多进程分块读取超大文件的方法
2016/04/13 Python
python中模块查找的原理与方法详解
2017/08/11 Python
Python爬虫实现百度图片自动下载
2018/02/04 Python
Python打开文件,将list、numpy数组内容写入txt文件中的方法
2018/10/26 Python
python使用PIL模块获取图片像素点的方法
2019/01/08 Python
python批量爬取下载抖音视频
2019/06/17 Python
Python求离散序列导数的示例
2019/07/10 Python
pandas read_excel()和to_excel()函数解析
2019/09/19 Python
pycharm下配置pyqt5的教程(anaconda虚拟环境下+tensorflow)
2020/03/25 Python
浅析python 动态库m.so.1.0错误问题
2020/05/09 Python
详解在Python中使用Torchmoji将文本转换为表情符号
2020/07/27 Python
解决import tensorflow导致jupyter内核死亡的问题
2021/02/06 Python
为什么要做架构设计
2015/07/08 面试题
《槐乡的孩子》教学反思
2016/02/20 职场文书
深入理解python多线程编程
2021/04/18 Python
MySQL 8.0 驱动与阿里druid版本兼容问题解决
2021/07/01 MySQL