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+DBM的同学录程序(2)
Oct 09 PHP
一个简洁的多级别论坛
Oct 09 PHP
php 特殊字符处理函数
Sep 05 PHP
数据库查询记录php 多行多列显示
Aug 15 PHP
PHP中SESSION使用中的一点经验总结
Mar 30 PHP
CURL状态码列表(详细)
Jun 27 PHP
PHP基本语法总结
Sep 06 PHP
PHP中加速、缓存扩展的区别和作用详解(eAccelerator、memcached、xcache、APC )
Jul 09 PHP
PHP合并数组函数array_merge用法分析
Feb 17 PHP
详解php框架Yaf路由重写
Jun 20 PHP
PHP文字转图片功能原理与实现方法分析
Aug 31 PHP
解决在Laravel 中处理OPTIONS请求的问题
Oct 11 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函数实现判断是否移动端访问
2015/03/03 PHP
php获取远程文件大小
2015/10/20 PHP
示例详解Laravel重置密码代码重构
2016/08/10 PHP
ExtJS中文乱码之GBK格式编码解决方案及代码
2013/01/20 Javascript
js中top的作用深入剖析
2014/03/04 Javascript
jQuery中:focus选择器用法实例
2014/12/30 Javascript
js实现图片漂浮效果的方法
2015/03/02 Javascript
nodeJs内存泄漏问题详解
2016/09/05 NodeJs
详解照片瀑布流效果(js,jquery分别实现与知识点总结)
2017/01/01 Javascript
AngulerJS学习之按需动态加载文件
2017/02/13 Javascript
Javascript快速实现浏览器系统通知
2017/08/26 Javascript
jQuery实现购物车的总价计算和总价传值功能
2018/11/28 jQuery
用node撸一个监测复联4开售短信提醒的实现代码
2019/04/10 Javascript
vue-cli3使用 DllPlugin 实现预编译提升构建速度
2019/04/24 Javascript
在node环境下parse Smarty模板的使用示例代码
2019/11/15 Javascript
[51:20]完美世界DOTA2联赛PWL S2 Magma vs PXG 第一场 11.28
2020/12/01 DOTA
利用打码兔和超人打码自封装的打码类分享
2014/03/16 Python
python使用电子邮件模块smtplib的方法
2016/08/28 Python
Python基础学习之常见的内建函数整理
2017/09/06 Python
Python+matplotlib+numpy绘制精美的条形统计图
2018/01/02 Python
详解Django中六个常用的自定义装饰器
2018/07/04 Python
在Pycharm中使用GitHub的方法步骤
2019/06/13 Python
python 绘制拟合曲线并加指定点标识的实现
2019/07/10 Python
python 一维二维插值实例
2020/04/22 Python
python中PyQuery库用法分享
2021/01/15 Python
2021年值得向Python开发者推荐的VS Code扩展插件
2021/01/25 Python
CSS3 @media的基本用法总结
2019/09/10 HTML / CSS
澳大利亚领先的优质葡萄酒拍卖会:Langton’s Fine Wines
2019/03/24 全球购物
L’urv官网:精品女性运动服品牌
2019/07/07 全球购物
奥地利领先的在线药房:SHOP APOTHEKE
2019/10/07 全球购物
运动会领导邀请函
2014/01/10 职场文书
大学生新学期计划书
2014/04/28 职场文书
2014年领导班子工作总结
2014/12/11 职场文书
爱国电影观后感
2015/06/19 职场文书
nginx如何将http访问的网站改成https访问
2021/03/31 Servers
JavaWeb Servlet实现网页登录功能
2021/07/04 Java/Android