Redis

洞悉Redis技术内幕:缓存,数据结构,并发,集群与算法
帅旋
关注
充电
IT宅站长,技术博主,共享单车手,全网id:arthinking。

Redis应用之SET:App DAU统计,留存统计

发布于 2021-06-16 | 更新于 2024-03-03

App每日活跃用户数,每日留存统计,是一个很常见的需求。在Redis中,我们刚好可以通过SET来记录所有的用户,并通过SET提供的各种操作API来实现对比统计。

每日DAU统计例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 记录20210525这天的活跃用户
127.0.0.1:6379> SADD user:20210525 10010 10011
2
127.0.0.1:6379> SADD user:20210525 10010 10086 10090
2
127.0.0.1:6379> SADD user:20210525 10086 12345 999900 100000
3
# 可以看到没有重复的内容
127.0.0.1:6379> SMEMBERS user:20210525
10010
10011
10086
10090
12345
100000
999900
# 记录20210526这天的活跃用户
127.0.0.1:6379> SADD user:20210526 10010 10086
2
# 通过交集获取26号的留存
127.0.0.1:6379> SINTERSTORE result user:20210525 user:20210526
2
127.0.0.1:6379> SMEMBERS result
10010
10086
image-20211010135719105

注意:SET数据类型的并集和交集计算复杂度比较高,如果SET数据量过大,可能会导致操作阻塞,建议此类操作放到单独的从库中进行。

References

本文作者: 帅旋

本文链接: https://www.itzhai.com/columns/redis/set-application.html

版权声明: 版权归作者所有,未经许可不得转载,侵权必究!联系作者请加公众号。

×
IT宅

关注公众号及时获取网站内容更新。