<?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实现的网站在线人数统计的更多相关文章

  1. ASP.net中网站访问量统计方法代码(在线人数,本月访问,本日访问,访问流量,累计访问)

    一.建立一个数据表IPStat用于存放用户信息 我在IPStat表中存放的用户信息只包括登录用户的IP(IP_Address),IP来源(IP_Src)和登录时间 (IP_DateTime),些表的信 ...

  2. Servlet监听器统计网站在线人数

    本节我们利用 Servlet 监听器接口,完成一个统计网站在线人数的案例.当一个用户登录后,显示欢迎信息,同时显示出当前在线人数和用户名单.当用户退出登录或 Session 过期时,从在线用户名单中删 ...

  3. ASP.NET MVC5+EF6+EasyUI 后台管理系统(39)-在线人数统计探讨

    系列目录 基于web的网站在线统计一直处于不是很精准的状态!基本上没有一种方法可以确实的统计在线用户! Discuz!NT 在线用户功能算是做得比较好的!参考资料 他的原理大致是根据用户的操作间隔来确 ...

  4. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(39)-在线人数统计探讨

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(39)-在线人数统计探讨 系列目录 基于web的网站在线统计一直处于不是很精准的状态!基本上没有一种方法可 ...

  5. 网站流量统计之PV和UV

    转自:http://blog.csdn.NET/webdesman/article/details/4062069 如果您是一个站长,或是一个SEO,您一定对于网站统计系统不会陌生,对于SEO新手来说 ...

  6. 用HttpSessionListener与HttpSessionBindingListener实现在线人数统计

    在线人数统计方面的实现,最初我的想法是,管理session,如果session销毁了就减少,如果登陆用户了就新增一个,但是如果是用户非法退出,如:未注销,关闭浏览器等,这个用户的session是管理不 ...

  7. Google Analytics SEO 实时 网站 访问量 统计

    /*************************************************************************** * Google Analytics SEO ...

  8. 构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(40)-精准在线人数统计实现-【过滤器+Cache】

    原文:构建ASP.NET MVC4+EF5+EasyUI+Unity2.x注入的后台管理系统(40)-精准在线人数统计实现-[过滤器+Cache] 系列目录 上次的探讨没有任何结果,我浏览了大量的文章 ...

  9. 网站流量统计系统 phpMyVisites

    phpMyVisites是一个网站流量统计系统,它能够提供非常详细的统计报告和高级图形报表.phpMyVisites不是一个Apache log分析工具,它建有自己的log.它的特点包括: 安装部署: ...

随机推荐

  1. sublime的Package Control的安装及使用

    一.快速安装 使用Ctrl+`快捷键或者通过View->Show Console菜单打开命令行,粘贴如下代码(注意下面代码为一行): import urllib.request,os; pf = ...

  2. spring_mvc入门项目的小总结

    1.先搭建一个maven的web项目 ,然后把文件夹完善一下,创建一个java的文件夹和resource的问件夹,并指定他们各自的功能. 导入pom.xml文件的依赖 <properties&g ...

  3. Node流操作(启动器forever)

    详情: https://www.cnblogs.com/lalalagq/p/9749680.html 流:读取流,写入流,双向读写流. 读写流——压缩.加密 数据库不能直接接受流 sf.readFi ...

  4. airflow的web任务管理

    ariflow里绿的代表都跑完了:红的表示有问题:点红的图标进去: 点tree view 红色表示那一天失败: 点进去看可以看log: 点clear则是重跑任务:

  5. /tmp/orbit-oracle/目录inode耗尽

    [root@iZ25zpeock2Z orbit-oracle]# cd /[root@iZ25zpeock2Z /]# du -cks * |sort -nr|head -n 20du: canno ...

  6. Recordset对象的Open方法

    Recordset对象的Open方法原型: Open([Source],[ActiveConnection],[CursorType],[LockType],[Options]) CursorType ...

  7. 数据检索grep

    linux操作中,总是会输出很多的内容.但是有些内容并不是我们重点关注的,所以为了看起来方便,也为了提升效率,就将不需要的内容过滤掉.  只输出想要的东西. grep: 用于搜索 模式参数(给定的字符 ...

  8. C++ 包含目录、库目录、附加包含目录、附加库目录、附加依赖项之详解(转)

    最近因为接触机器学习,所有涉猎到C++方面的开发.在c++中有几个概念很迷糊. VS项目中的包含目录.库目录.附加包含目录.附加库目录.附加依赖项均在"项目->属性->配置属性& ...

  9. tr、od命令

    一.tr:替换或删除字符 语法:       tr [OPTION] ... SET1 [SET2] 描述       翻译,压缩和/或删除标准输入中的字符,可写吗?       到标准输出. -c, ...

  10. 搞懂ZooKeeper到底是做啥的

    一.ZooKeeper是啥 ZooKeeper概念 ZooKeeper是一个开源的分布式协调服务(a service for coordinating processes of distributed ...