写点什么

《Redis 核心技术与实战》学习笔记 07

用户头像
escray
关注
发布于: 2021 年 03 月 22 日
《Redis 核心技术与实战》学习笔记 07

学习极客时间《Redis 核心技术与实战》专栏过程中的一些学习笔记,部分已经作为留言发布,但是留言太多,排在后面的一般很难被大家看到,所以集中发布在这里,欢迎讨论。


题图来自极客时间《Redis 核心技术与实战》专栏

12 | 有一亿个 keys 要统计,应该用哪种集合?      


作为吃瓜群众,课后题没法回答了,因为没有遇到过其他需要用到 Redis 的统计场景。感觉上,Redis 适合哪种需要实时统计的场景,如果是晚上统计,第二天出结果,甚至是月度或者年度统计,似乎 Redis 就不适用了。


另外,专栏设想的是“一亿个 keys”,估计大部分读者也只能是看客了。当然,其中的一些思路,以及对于集中集合类型的应用,是很有启发的。


聚合统计,统计手机 App 每天新增用户数和第二天留存用户数


SUNIONSTORE user:id user:id user:id:20200803SDIFFSTORE user:new user:id:20200804 user:idSINTERSTORE user:id:rem user:id:20200803 user:id:20200804
复制代码


课代表说,以上三个命令会在 Redis 上生成新 key,只能在主库使用;如果想在从库上操作,那么考虑 SUNION、SDIFF、SINTER 命令。


排序统计,电商网站商品评论列表


ZADD comments 1 "one"ZADD comments 1 "uno"ZADD comments 2 "two" 3 "three"ZRANGEBYSCORE comments -inf +infZRANGEBYSCORE comments 1 2
复制代码


二值状态统计,用户签到


SETBIT uid:sign:3000:202008 2 1GETBIT uid:sign:3000:202008 2BITCOUNT uid:sign:3000:202008
复制代码


基数统计,网页独立访客数量


PFADD page1:uv user1 user2 user3 user4 user5PFCOUNT page1:uv
复制代码


HyperLogLog is an algorithm for the count-distinct problem, approximating the number of distinct elements in a multiset.


最后记录一下课代表的提醒:


  • 集群模式多个 key 聚合计算要慎重,有可能报错或者结果错误

  • 数据量大的时候,建议把统计数据和在线业务数据拆分,单独部署


这一节课老师(作者回复)没有出现在留言里面,我很怀念他。


发布于: 2021 年 03 月 22 日阅读数: 11
用户头像

escray

关注

Let's Go 2017.11.19 加入

在学 Elasticsearch 的项目经理

评论

发布
暂无评论
《Redis 核心技术与实战》学习笔记 07