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.它的特点包括: 安装部署: ...
随机推荐
- sublime的Package Control的安装及使用
一.快速安装 使用Ctrl+`快捷键或者通过View->Show Console菜单打开命令行,粘贴如下代码(注意下面代码为一行): import urllib.request,os; pf = ...
- spring_mvc入门项目的小总结
1.先搭建一个maven的web项目 ,然后把文件夹完善一下,创建一个java的文件夹和resource的问件夹,并指定他们各自的功能. 导入pom.xml文件的依赖 <properties&g ...
- Node流操作(启动器forever)
详情: https://www.cnblogs.com/lalalagq/p/9749680.html 流:读取流,写入流,双向读写流. 读写流——压缩.加密 数据库不能直接接受流 sf.readFi ...
- airflow的web任务管理
ariflow里绿的代表都跑完了:红的表示有问题:点红的图标进去: 点tree view 红色表示那一天失败: 点进去看可以看log: 点clear则是重跑任务:
- /tmp/orbit-oracle/目录inode耗尽
[root@iZ25zpeock2Z orbit-oracle]# cd /[root@iZ25zpeock2Z /]# du -cks * |sort -nr|head -n 20du: canno ...
- Recordset对象的Open方法
Recordset对象的Open方法原型: Open([Source],[ActiveConnection],[CursorType],[LockType],[Options]) CursorType ...
- 数据检索grep
linux操作中,总是会输出很多的内容.但是有些内容并不是我们重点关注的,所以为了看起来方便,也为了提升效率,就将不需要的内容过滤掉. 只输出想要的东西. grep: 用于搜索 模式参数(给定的字符 ...
- C++ 包含目录、库目录、附加包含目录、附加库目录、附加依赖项之详解(转)
最近因为接触机器学习,所有涉猎到C++方面的开发.在c++中有几个概念很迷糊. VS项目中的包含目录.库目录.附加包含目录.附加库目录.附加依赖项均在"项目->属性->配置属性& ...
- tr、od命令
一.tr:替换或删除字符 语法: tr [OPTION] ... SET1 [SET2] 描述 翻译,压缩和/或删除标准输入中的字符,可写吗? 到标准输出. -c, ...
- 搞懂ZooKeeper到底是做啥的
一.ZooKeeper是啥 ZooKeeper概念 ZooKeeper是一个开源的分布式协调服务(a service for coordinating processes of distributed ...