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.它的特点包括: 安装部署: ...
随机推荐
- PAT A1012 Best Rank(25)
题目描述 To evaluate the performance of our first year CS majored students, we consider their grades of ...
- linux node 安装
百度搜索出来的按照方式都是下载linux的解压包后,解压出可执行文件然后创建软连接, 我试了一下不知为何node可以创建软连接,但是npm 创建软连接执行不了 还是使用官方的安装方式成功了 https ...
- Java枚举相关知识
JAVA枚举 很多编程语言都提供了枚举的概念,但是java直到1.5之后才提出了枚举的概念,出现比这个语言本身晚10年. 主要作用是用于定义有限个数对象的一种结构(多例设计),枚举就属于多例设计并且其 ...
- javascript——创建对象的方式
对象:在JavaScript中,对象是拥有属性和方法的数据. JavaScript自定义对象方式有以下7种:直接创建方式.对象初始化器方式.构造函数方法.prototype原型方式.混合的构造函数/原 ...
- java——HashSet中add()方法不能加重复值得原因理解(我们一起来看底层代码吧)
Set<String> names = new HashSet<>(); names.add("张三"); names.add(new String(&qu ...
- C手写一个多线程,供java调用
package com.tigger; public class MyThread { static { //装载库,保证jvm在启动的时候就会装载 System.loadLibrary(" ...
- JS基础_基本数据类型和引用数据类型
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- 05 正确运行一个Go程序
Go代码文件,程序中必须指定启动函数main() Hello.go package main //声明为main包,即可以编译成二进制程序 import "fmt" //导入fmt ...
- mockjs介绍
官网 https://github.com/nuysoft/Mock/wiki/Getting-Started 一.为什么使用mockjs 在做开发时,当后端的接口还未完成,前端为了不影响工作效率,手 ...
- React中使用遍历
1.使用for(let item of items){} render(){ var itemList = [] for(let item of items){ itemList.push(<I ...