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 向访客和爬虫显示不同的内容
Nov 09 PHP
php数组函数序列之array_key_exists() - 查找数组键名是否存在
Oct 29 PHP
Php output buffering缓存及程序缓存深入解析
Jul 15 PHP
yii中widget的用法
Dec 03 PHP
php通过修改header强制图片下载的方法
Mar 24 PHP
php提取身份证号码中的生日日期以及验证是否为成年人的函数
Sep 29 PHP
php上传图片类及用法示例
May 11 PHP
PHP使用DOM和simplexml读取xml文档的方法示例
Feb 08 PHP
使用phpQuery获取数组的实例
Mar 13 PHP
降低PHP Redis内存占用
Mar 23 PHP
删除PHP数组中头部、尾部、任意元素的实现代码
Apr 10 PHP
eval(cmd)与eval($cmd)的区别与联系
Jul 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
图象函数中的中文显示
2006/10/09 PHP
利用PHP脚本在Linux下用md5函数加密字符串的方法
2015/06/29 PHP
PHP函数func_num_args用法实例分析
2015/12/07 PHP
详解Yii2高级版引入bootstrap.js的一个办法
2017/03/21 PHP
phpstudy2018升级MySQL5.5为5.7教程(图文)
2018/10/24 PHP
在你的网页中嵌入外部网页的方法
2007/04/02 Javascript
关于document.cookie的使用javascript
2008/04/11 Javascript
Javascript打印网页部分内容的脚本
2008/11/17 Javascript
前端开发的开始---基于面向对象的Ajax类
2010/09/17 Javascript
js实现的简单radio背景颜色选择器代码
2015/08/18 Javascript
理解javascript对象继承
2016/04/17 Javascript
JS使用单链表统计英语单词出现次数
2016/06/16 Javascript
微信小程序-getUserInfo回调的实例详解
2017/10/27 Javascript
angular2系列之路由转场动画的示例代码
2017/11/09 Javascript
JS使用setInterval实现的简单计时器功能示例
2018/04/19 Javascript
layui 对table中的数据进行转义的实例
2019/09/12 Javascript
vue.js的简单自动求和计算实例
2019/11/08 Javascript
[06:25]DOTA2英雄梦之声_第17期_大地之灵
2014/06/20 DOTA
[58:59]完美世界DOTA2联赛PWL S3 access vs CPG 第一场 12.13
2020/12/16 DOTA
Python计算三角函数之asin()方法的使用
2015/05/15 Python
浅谈python正则的常用方法 覆盖范围70%以上
2018/03/14 Python
python 实现在Excel末尾增加新行
2018/05/02 Python
Python实现使用卷积提取图片轮廓功能示例
2018/05/12 Python
pip安装py_zipkin时提示的SSL问题对应
2018/12/29 Python
Python使用tkinter模块实现推箱子游戏
2019/10/08 Python
Mac 使用python3的matplot画图不显示的解决
2019/11/23 Python
基于Python检测动态物体颜色过程解析
2019/12/04 Python
python Qt5实现窗体跟踪鼠标移动
2019/12/13 Python
python Scrapy爬虫框架的使用
2021/01/21 Python
PyQt5通过信号实现MVC的示例
2021/02/06 Python
python 30行代码实现蚂蚁森林自动偷能量
2021/02/08 Python
表达自我的市场:Society6
2018/08/01 全球购物
文化与传播毕业生求职信
2014/03/09 职场文书
恶搞卫生巾广告词
2014/03/18 职场文书
初二物理教学反思
2016/02/19 职场文书
mysql 8.0.27 绿色解压版安装教程及配置方法
2022/04/20 MySQL