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 相关文章推荐
强烈声明: 不要使用(include/require)_once
Jun 06 PHP
php读取大文件示例分享(文件操作类)
Apr 13 PHP
PHP mkdir()无写权限的问题解决方法
Jun 19 PHP
给ECShop添加最新评论
Jan 07 PHP
php curl 上传文件代码实例
Apr 27 PHP
PHP中Closure类的使用方法及详解
Oct 09 PHP
WordPress中用于获取文章信息以及分类链接的函数用法
Dec 18 PHP
Zend Framework框架教程之Zend_Db_Table_Rowset用法实例分析
Mar 21 PHP
PHP中的Trait 特性及作用
Apr 03 PHP
PHP实现的只保留字符串首尾字符功能示例【隐藏部分字符串】
Mar 11 PHP
Laravel框架控制器的request与response用法示例
Sep 30 PHP
php实现统计IP数及在线人数的示例代码
Jul 22 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与MongoDB简介|安全|M+PHP应用实例详解
2013/06/17 PHP
ThinkPHP实例化模型的四种方法概述
2014/08/22 PHP
PHP函数引用返回的实例详解
2016/09/11 PHP
PHP使用递归算法无限遍历数组示例
2017/01/13 PHP
BOOM vs RR BO5 第一场 2.14
2021/03/10 DOTA
基于jquery 的一个progressbar widge
2010/10/29 Javascript
JS this作用域以及GET传输值过长的问题解决方法
2013/08/06 Javascript
Node.js连接MongoDB数据库产生的问题
2017/02/08 Javascript
vue学习教程之带你一步步详细解析vue-cli
2017/12/26 Javascript
angularJS实现动态添加,删除div方法
2018/02/27 Javascript
vue-cli 首屏加载优化问题
2018/11/06 Javascript
详解iview的checkbox多选框全选时校验问题
2019/06/10 Javascript
微信小程序使用自定义组件导航实现当前页面高亮
2020/01/02 Javascript
JavaScript事件冒泡机制原理实例解析
2020/01/14 Javascript
Webpack的Loader和Plugin的区别
2020/11/09 Javascript
在Django中进行用户注册和邮箱验证的方法
2016/05/09 Python
python 输入一个数n,求n个数求乘或求和的实例
2018/11/13 Python
python3使用matplotlib绘制散点图
2019/03/19 Python
Python read函数按字节(字符)读取文件的实现
2019/07/03 Python
Python编程学习之如何判断3个数的大小
2019/08/07 Python
Python关于反射的实例代码分享
2020/02/20 Python
Python logging模块原理解析及应用
2020/08/13 Python
用python制作个视频下载器
2021/02/01 Python
澳大利亚汽车零部件、音响及配件超市:Automotive Superstore
2018/06/19 全球购物
世界领先的豪华床上用品供应商之一:Bedeck Home
2019/03/18 全球购物
前处理班长职位说明书
2014/03/01 职场文书
保密工作责任书
2014/04/16 职场文书
学校评语大全
2014/05/06 职场文书
争做文明公民倡议书
2014/08/29 职场文书
行政专员岗位职责说明书
2014/09/01 职场文书
2014年仓库管理员工作总结
2014/11/18 职场文书
有限责任公司股东合作协议书
2014/12/02 职场文书
幼儿园父亲节活动总结
2015/02/12 职场文书
2015年成本会计工作总结
2015/10/14 职场文书
生产实习心得体会范文
2016/01/22 职场文书
2019年关于小学生课外阅读情况的分析报告
2019/12/02 职场文书