当前位置:网站首页>使用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
边栏推荐
猜你喜欢

Heilongjiang Mobile New Magic Hundred Box M411A_2+8_S905L3A_wire brush firmware package

Mobile Hisense IP102H_905L3-B_wire brush firmware package

【LeetCode Daily Question】——374. Guess the size of the number

【小程序】实现发动态功能

Clearance sword refers to Offer——The sword refers to Offer II 010. and the sub-array of k

CSDN21天学习挑战赛——程序流程控制(02)

Hubei Telecom Tianyi TY1608_S905L3B_MT7668_ card brush firmware package

全球电子产品需求萎靡:三星越南工厂大幅压缩产能,减少工人工作日

开发一套高容错分布式系统

88. (the home of cesium) cesium polymerization figure
随机推荐
多线程学习笔记-3.并发容器
Clearance sword refers to Offer——The sword refers to Offer II 010. and the sub-array of k
LeetCode 每日一题——1403. 非递增顺序的最小子序列
机器学习(十三):支持向量机(SVM)
LeetCode 1403.非递增顺序的最小子序列
WEB 渗透之越权
Mobile magic box CM211-1_YS foundry _S905L3B_RTL8822C_wire brush firmware package
并发编程原理学习-reentrantlock源码分析
如何模拟后台API调用场景,很细!
15 days to upgrade to fight monsters and become a virtual fashion creator
海报 | 夏季高温,危化品安全风险的注意事项必须get!
NLP未来,路在何方?从学术前沿和业界热点谈起
泰坦尼克号沉船数据之美——起于悲剧,止于浪漫
"Distributed cloud best practices" BBS, on August 11, shenzhen
服装店如何利用好积分?
el-date-picker 设置时间范围
安装失败怎么办
美容院管理系统有哪些促销方式?
The second step through MySQL in four steps: MySQL index learning
不需要服务器,教你仅用30行代码搞定实时健康码识别