PHP统计在线用户数量
一段经典的php统计在线用户数量的代码,一起学习分享。
<?php
/**
* Created by PhpStorm.
* User: jifei
* Date: 15/11/24
* Time: 20:58
*
* 每分钟百万用户,实时统计最近15分钟在线用户总数
*/
class OnlineUser
{public $prefix_key = "online";//key前缀
public function __construct()
{$this->redis = new Redis();
}
/**
* 往集合中添加新的在线用户
*
* @param $uid
*/
public function addUser($uid)
{$this->redis->sAdd($this->prefix_key . date('hi'), $uid);}
/**
* 获取在线用户数
*
* @param $start_min 统计开始分钟 hi格式
* @param $end_min 统计结束的分钟
*
* @return mixed
*/
public function userNum($start_min, $end_min)
{//第一个参数,并集的key名称
$params[] = $this->prefix_key . $start_min . '_' . $end_min;
//遍历时间区间内所有的分钟,并放入到参数中
for ($min = $start_min; $min < $end_min; $min++) {$params[] = $this->prefix_key . $min;
}
//求所有分钟的用户的并集并保存,性能比直接计算返回快很多,省去了数据传输
$num = call_user_func_array([$this->redis, "sUnionStore"], $params);
//删除临时并集
$this->redis->delete($params[0]);
return $num;
}
}
发布日期: 2016-07-30 作者: 511遇见
PHP统计在线用户数量的更多相关文章
- Javaweb基础--->利用监听器统计在线用户数量和用户信息
首页布局:index.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" ...
- Tomcat集群下获取memcached缓存对象数量,统计在线用户数据量
项目需要统计在线用户数量,系统部署在集群环境下,使用会话粘贴的方式解决Session问题.要想得到真实在线用户数,必须是所有节点的总和. 这里考虑使用memcached存放用户登录数据,key为use ...
- 使用 Redis 统计在线用户人数
在构建应用的时候, 我们经常需要对用户的一举一动进行记录, 而其中一个比较重要的操作, 就是对在线的用户进行记录. 本文将介绍四种使用 Redis 对在线用户进行记录的方案, 这些方案虽然都可以对在线 ...
- 用HttpSessionListener统计在线用户或做账号在线人数管理
使用HttpSessionListener接口可监听session的创建和失效 session是在用户第一次访问页面时创建 在session超时或调用request.getSession().inva ...
- ASP.NET MVC使用SignalR统计在线用户人数
学到新东西就记录一下.也许正好有人需要~~~~~~ 由于需要记录当前在线用户,emmmm又是没做过的... 本来想用数据库的形式,但是想想这么简单的功能百度肯定有.遨游一波百度,有所收获.... 虽然 ...
- php 获取当前在线用户数量
<?php //在线人数统计 $filename='online.txt';//数据文件 $cookiename='VGOTCN_OnLineCount';//cookie名称 $onlinet ...
- java Session统计在线用户,并且显示在线用户
关键字: httpsession 1.http://www.jspcn.net/htmlnews/11049329478121583.html 监听器 2.session.invalida ...
- ASP.NET中在线用户统计
统计在线用户的作用不言而喻,就是为了网站管理者可以知道当前用户的多少,然后根据用户数量来观察服务器或者程序的性能,从而可以直观的了解到网站的吸引力或者网站程序的效率.现在,我们就介绍一个简单明了的方法 ...
- 在线用户管理--ESFramework 4.0 进阶(05)
无论我们采用何种通信框架来构建我们的分布式系统,在服务端进行用户管理都是非常重要的一个环节.然而用户管理是否应该隶属于通信框架了?这个并不一定,通常来说,用户管理是与具体应用紧密相关的,应该是由应用解 ...
- 让你的 Nginx 的 RTMP 直播具有统计某频道在线观看用户数量的功能
你的 Nginx 已经有了 RTMP 直播功能的话,如果你还想统计某直播频道当前观看用户量的话,可以加入 with-http_xslt_module 模块.具体步骤如下: 1.查看原来的 ...
随机推荐
- codeforce B. Creating the Contest
http://codeforces.com/contest/1029/problem/B 水题真快乐= = 1 public class Main { 2 public static void mai ...
- svn up 更新失败 Working copy path '' does not exist in repository
转网上全都是,亲测有效,用于本地更新错误可以这么搞: Working copy path '' does not exist in repositorysvn up 更新失败 可以选择 更新深度 为 ...
- windows搭建minikube环境学习Kubernates
1.使用powershell下载minikube New-Item -Path 'c:\' -Name 'minikube' -ItemType Directory -Force Invoke-Web ...
- 每次 git 都需要输入用户名和密码的解决办法
git config --global credential.helper store git pull /git push (第一次输入,下次就不用再次输入数据)
- The table‘xxxx’is full
df -h 查看磁盘 设置 back_log = 50 接受队列,对于没建立 tcp 连接的请求队列放入缓存中,队列大小为 back_log,受限制与 OS 参数,试图设定 back_log 高于你的 ...
- 预览服务器上的html静态网页
预览服务器上的html静态网页 远程服务器中html静态文件不方便直接查看 使用vscode快速预览远程服务器上的html静态文件 我遇到的场景: 我使用windows电脑办公,使用vscode的ss ...
- k8s暂停一个pod
模拟k8s暂停一个服务:kubectl scale --replicas=0 deployment/[deployment] -n [namespace](如要恢复设置参数--replicas=1即 ...
- data_analysis:初识numpy
import numpy as npimport pandas as pd# """第一种,使用loadtxt"""# # 加载数据路径# ...
- 01爬取豆瓣网电影数据进行numpy的练习
level 2:10.案例:编写爬虫爬取豆瓣电影排行榜(电影名称,评分),保存为csv文件 a.用numpy加载csv数据 b.把评分列转换成float64类型 c.计算电影的平均评分 d.求评分最高 ...
- CAM更改起始直径为直径
Session* theSession = Session::GetSession(); Part* workPart(theSession->Parts()->Work()); UI* ...
