当前位置:网站首页>使用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
边栏推荐
- taro 滚动组件ScrollView
- 安装win11提示开启安全模式如何解决
- yarn详细入门教程
- 正则过滤字符串中 script 标签
- 消灭异步回调,还得是async-await
- Copycat CNN: Stealing Knowledge by Persuading Confession with Random Non-Labeled Data阅读心得
- 谷歌开发者社区推荐:《Jetpack Compose 从入门到实战》新书上架,带你踏上 Compose 开发之旅~
- WPF 光标初始化的时候 temp 文件夹满了无法创建
- 小满nestjs(第一章 介绍nestjs)
- LeetCode 0168. Excel表列名称
猜你喜欢
美容院管理系统有哪些促销方式?
【论文阅读】Decision Transformer: Reinforcement Learning via Sequence Modeling
华为云数据治理生产线DataArts,让“数据‘慧’说话”
C# Sqlite database construction and use skills
开一个羽毛球馆大概需要多少钱?大约15万左右可以搞定!
Learning and Exploration-Introducing Baidu Statistics to the Website
浅谈运用低代码技术如何实现物流企业的降本增效
Heilongjiang Mobile New Magic Hundred Box M411A_2+8_S905L3A_wire brush firmware package
【图像分类】2021-DeiT
提高图片清晰度的快速方法?
随机推荐
Boost库学习笔记(一)安装与配置
"Distributed cloud best practices" BBS, on August 11, shenzhen
机器学习(十三):支持向量机(SVM)
Hubei Mobile ZTE B860AV2.1_S905L_ flash firmware package
全世界国家和地区国家顶级域名对照表
美容院管理系统有哪些促销方式?
shell脚本详解 --------循环语句之for循环
浙江数码代工M301H 免拆通刷_卡刷固件包(语音OK)
SAP 电商云 Spartacus UI 页面布局的设计原理
Codeforces Round #811 (Div. 3)
taro 滚动组件ScrollView
C# Sqlite database construction and use skills
安装win11提示开启安全模式如何解决
浅谈运用低代码技术如何实现物流企业的降本增效
谷粒商城笔记
机器学习(十六):主成成分分析(PCA)
机器学习(十九):梯度提升回归(GBR)
如何提高员工积极性?
Cesium快速上手0-Cesium安装与基本介绍
太一集团宣布全资收购火币旗下社交产品火信