当前位置:网站首页>使用Redis做某个时间段在线数统计
使用Redis做某个时间段在线数统计
2022-08-04 17:10:00 【Mar丶流年】
前言
一般有范围性的需求都可以使用 sorted set 实现。
sorted set 类型通常用于实现(排行榜,最新的xxx,延迟队列…)
实现
实现很简单,将用户的登录时间转换成时间戳作为权重即可。
假设用户1,3 在20220801号登录
zadd login 1659283200 1
zadd login 1659283200 3
假设用户2,3 在20220802号登录
zadd login 1659369600 2
zadd login 1659369600 3
假设用户4,在20220803号登录
zadd login 1659456000 4
统计20220801至20220802的在线用户数量
# ZCOUNT key min max
# 在线 3
zcount login 1659283200 1659369600
拓展:在上面的基础上统计连续两天都在线的用户及其最后登录时间
假设用户1,3 在20220801号登录
zadd login:20220801 1659283200 1
zadd login:20220801 1659283200 3
假设用户2,3 在20220802号登录
zadd login:20220802 1659369600 2
zadd login:20220802 1659369600 3
假设用户4,在20220803号登录
zadd login:20220803 1659456000 4
统计20220801,20220802 两天都登录的用户及其最后登录时间
# 将两个交集保存至 result:20220801:20220802
# aggregate max 保留最大的权重(即最后登录时间)
# 不使用 aggregate max,权重会累加
zinterstore result:20220801:20220802 2 login:20220801 login:20220802 aggregate max
# 展示数据
zrange result:20220801:20220802 0 -1 withscores
边栏推荐
- Mobile BesTV_R3300-L_S905L_8189_wire brush firmware package
- 移动平台助力推进智慧型科研院所信息化建设
- Boost库学习笔记(一)安装与配置
- response的contentType 几种类型
- WEB 渗透之XXE&XML
- 【LeetCode每日一题】——374.猜数字大小
- To eliminate asynchronous callbacks, it has to be async-await
- 设置表头颜色
- 机器学习(十四):K均值聚类(kmeans)
- R语言使用yardstick包的gain_curve函数评估多分类(Multiclass)模型的性能、查看模型在多分类每个分类上的增益(gain)曲线(gain curve)
猜你喜欢
【商家联盟】云平台—异业联盟,打造线上线下商业相结合的系统
"Distributed cloud best practices" BBS, on August 11, shenzhen
泰坦尼克号沉船数据之美——起于悲剧,止于浪漫
Flutter实战-请求封装(四)之gzip报文压缩
【LeetCode每日一题】——540.有序数组中的单一元素
What does the product system of a digital financial enterprise look like?
Mobile magic box CM211-1_YS foundry _S905L3B_RTL8822C_wire brush firmware package
华硕win11安全启动如何开启
咪咕MGV2000KL南传_S905L3B_MT7668线刷固件包
How to convert an int attribute into a string in the json format returned by the Go language gin framework?
随机推荐
码蹄集 - MT2142 - 万民堂大厨
为什么买域名必须实名认证?这样做什么原因?
机器学习(十三):支持向量机(SVM)
SAP 电商云 Spartacus UI 页面布局的设计原理
Learning to Explore - Setting the Foreground Color for Fonts
码蹄集 - MT2165 - 小码哥的抽卡之旅1
Learning and Exploration-Introducing Baidu Statistics to the Website
88. (the home of cesium) cesium polymerization figure
Mobile Hisense IP102H_905L3-B_wire brush firmware package
Understand Chisel language. 32. Chisel advanced hardware generator (1) - parameterization in Chisel
icu是哪个国家的域名?icu是什么域名?
从-99打造Sentinel高可用集群限流中间件
移动平台助力推进智慧型科研院所信息化建设
To eliminate asynchronous callbacks, it has to be async-await
拼多多详情API接口深度解读
机器人示教编程与离线编程的优缺点对比
集群监控——Zabbix使用
适配器模式
【商家联盟】云平台—异业联盟,打造线上线下商业相结合的系统
不需要服务器,教你仅用30行代码搞定实时健康码识别