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.查看原来的 ...
随机推荐
- VMware-查看虚拟机版本
[root@localhost /]# uname -a Linux localhost.localdomain 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22: ...
- linux命令行大量零碎练习习题集-打包未整理
linux命令行大量零碎练习习题集-打包未整理最近看完了一本linux书籍,想着做题来检测和巩固一下,于是打算去买本linux命令集习题去做做.但是没有找到相关的书籍,于是只能在网上随便找找.但是很多 ...
- TensorFlow中的Placeholder
简单运用 这一次我们会讲到 Tensorflow 中的 placeholder , placeholder 是 Tensorflow 中的占位符,暂时储存变量. Tensorflow 如果想要从外部传 ...
- Android中添加set文件
一般情况下,set文件在anim目录下面,如果没有anim目录,就新建一个. 1. 右键点击anim,选择new->Animation Resource File 2. 选择类型为set,点击O ...
- 高级讲师肖SIR _简历上 _金融类项目
================================ 项目名称:现金巴士 项目简介: 现金巴士是一家专注于消费金融的网络借贷信息中介服务平台,以大数据和互联网技术为基础,凭借自身风控系统和 ...
- oralce 语句指定的转换无效
公司的小师妹出现了个问题 让我帮忙看一下 在plsql 中查询语句没问题, 但是放到程序中会提示指定的转换无效 是因为存在无限小数 加上round(JJYHL,2) JJYHL就可以了
- TPS,RPS,QPS,RT的区别
以下是对性能中各项指标的解释: 1.TPS:Transaction Per Second,服务器每秒处理事务数,是衡量系统性能的一个非常重要的指标. 计算公式:TPS= 总请求数 / 总时间. ...
- JavaSE——复杂对象数组练习
定义一个长度为3的数组,数组存储1~3名学生对象作为初始数据,学生对象的学号,姓名各不相同. 学生的属性:学号,姓名,年龄. 要求1:再次添加一个学生对象,并在添加的时候进行学号的唯一性判断. 要求2 ...
- CVE-2023-25813 漏洞
自己使用Nestjs 搭配 Sequelize ,在安装新包的时候提示有Critical 风险.有漏洞嘛,要第一时间处理,要处理,除了升级,还要看一下这个漏洞如何复现. 粗略得到结果如下: CVE-2 ...
- python关于函数超时异常处理
import time import func_timeout from func_timeout import func_set_timeout def time_sleep(): time.sle ...
