php+memcache实现的网站在线人数统计
<?php
$mc = new Memcache (); // 连接memcache
$mc->connect ( "127.0.0.1", ); // 获取 在线用户 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 > ) {
unset($online_members[$k]);
}
} // 重新设置在线用户数据
$mc->set ( 'online_members', $online_members ); // 重新获取在线用户数据
$online_members = $mc->get ( 'online_members' ); // 输入统计在线人数
echo count($online_members);
?>
// 获取所有浏览次数function get_all_visit_number(){ $mc = new Memcache (); // 使用wordpress自带wpdb类 global $wpdb; // 参数表 $table = "wp_options"; // 连接memcache $mc->connect ( "127.0.0.1", 11211 ); // 获取浏览次数 $visit_number = $mc->get ( 'visit_number' ); // Memcache 中是否存有访问次数 if (!$visit_number) { // 不存在时,查询数据库 $querystr = "SELECT `option_value` FROM " .$table. " WHERE `option_name`='visit_number'"; $results = $wpdb->get_results($querystr); // 把数据库中存储的值赋予memcache变量 $visit_number = intval($results[0]->option_value); } // 设置浏览次数 $mc->set ( 'visit_number', ++$visit_number); // 获取浏览次数 $visit_number = $mc->get ( 'visit_number' ); // 每达100次访问量,更新到数据库 if ($visit_number % 100 == 0) { // 使用wordpress自带wpdb类 $data_array = array( 'option_value' => $visit_number ); $where_clause = array( 'option_name' => 'visit_number' ); $wpdb->update($table,$data_array,$where_clause); } // 关闭memcache连接 $mc->close (); return $visit_number;}php+memcache实现的网站在线人数统计的更多相关文章
- ASP.net中网站访问量统计方法代码(在线人数,本月访问,本日访问,访问流量,累计访问)
一.建立一个数据表IPStat用于存放用户信息 我在IPStat表中存放的用户信息只包括登录用户的IP(IP_Address),IP来源(IP_Src)和登录时间 (IP_DateTime),些表的信 ...
- Servlet监听器统计网站在线人数
本节我们利用 Servlet 监听器接口,完成一个统计网站在线人数的案例.当一个用户登录后,显示欢迎信息,同时显示出当前在线人数和用户名单.当用户退出登录或 Session 过期时,从在线用户名单中删 ...
- ASP.NET MVC5+EF6+EasyUI 后台管理系统(39)-在线人数统计探讨
系列目录 基于web的网站在线统计一直处于不是很精准的状态!基本上没有一种方法可以确实的统计在线用户! Discuz!NT 在线用户功能算是做得比较好的!参考资料 他的原理大致是根据用户的操作间隔来确 ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(39)-在线人数统计探讨
原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(39)-在线人数统计探讨 系列目录 基于web的网站在线统计一直处于不是很精准的状态!基本上没有一种方法可 ...
- 网站流量统计之PV和UV
转自:http://blog.csdn.NET/webdesman/article/details/4062069 如果您是一个站长,或是一个SEO,您一定对于网站统计系统不会陌生,对于SEO新手来说 ...
- 用HttpSessionListener与HttpSessionBindingListener实现在线人数统计
在线人数统计方面的实现,最初我的想法是,管理session,如果session销毁了就减少,如果登陆用户了就新增一个,但是如果是用户非法退出,如:未注销,关闭浏览器等,这个用户的session是管理不 ...
- Google Analytics SEO 实时 网站 访问量 统计
/*************************************************************************** * Google Analytics SEO ...
- 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(40)-精准在线人数统计实现-【过滤器+Cache】
原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(40)-精准在线人数统计实现-[过滤器+Cache] 系列目录 上次的探讨没有任何结果,我浏览了大量的文章 ...
- 网站流量统计系统 phpMyVisites
phpMyVisites是一个网站流量统计系统,它能够提供非常详细的统计报告和高级图形报表.phpMyVisites不是一个Apache log分析工具,它建有自己的log.它的特点包括: 安装部署: ...
随机推荐
- Linux 安装 openoffice
1 说明 本文档采用rpm包方式安装,操作系统为centos 2 下载openoffice rpm包 创建nginx源码包存放目录 mkdir /usr/local/src/openoffice cd ...
- 手把手教你用vue-clic3搭建vue-element-admin项目
下载element-admin框架 点击该地址:https://github.com/PanJiaChen/vue-element-admin 用git clone https://github.co ...
- firewall-cmd 的简单使用 进行端口转发的使用
今天本来想用 ssh 做端口转发 但是命令死活想不起来了.. 没办法改用firewall-cmd 来进行处理 方法: 1. 首先不能关防火墙 systemctl enable firewalld sy ...
- JavaScript作用域简单记录
作用域以及作⽤用域链 this 没有块级作⽤用域 闭包 作用域 - 作用域链 作用域 - this this 永远是最后调用的对象 作用域 - 没有块级作用域 function Main(){ if( ...
- Linux系列:之软件安装
1.安装软件 不同的Linux版本可能使用不同的软件管理机制. RPM:使用这类命令进行安装的Linux版本有CentOS. DPKG:使用这类命令进行安装的Linux版本有Debian.Ubuntu ...
- python设计购物车
设计购物车 一需求: 1.启动程序后,输入用户名密码后,如果是第一次登录,让用户输入工资,然后打印商品列表 2.允许用户根据商品编号购买商品 3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提 ...
- weblogic连接池
1.在 使用JDBC连接池的过程中,最常见的一个问题就是连接池泄漏问题.一个池里面的资源是有限的,应用用完之后应该还回到池中,否则池中的资源会被耗尽. WebLogic Server提供了一个Inac ...
- C# HttpWebRequest向远程地址Post文件
HttpWebRequest向远程地址Post文件 /// <summary> /// 上传文件到远程服务器 /// </summary> /// <param name ...
- charles 抓包 (一)
在web.app开发中经常需要通过抓包来定位页面.接口返回数据的问题.在mac系统中,charles是一款功能丰富的抓包软件.可以实现app的数据抓包. 工具:charles 附送charles的破解 ...
- NET Core:搭建私有Nuget服务器以及打包发布Nuget包
docker 安装 https://www.cnblogs.com/liuxiaoji/p/11014329.html 1.使用docker搭建私有Nuget服务器 docker run -d -p ...