摘要: HyperLogLog 应用场景 ​ 现开发维护一个大型的网站,需要统计每个网页每天的UV和PV数据,现在需要你来开发这个统计模块,你会如何实现? ​ 如果统计PV非常好办,给每个网页设置一个独立的Redis计数器,这个计数器的key加上当天的日期,这样请求一次,incrby一次,这样最终可以统计出 阅读全文
posted @ 2020-08-31 11:27 phper-liunian 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 位图(bitMap) 应用场景 在平时开发中, 可能有一些bool型数据需要存取,如用户一年的签到记录,签了是1, 没签是0, 要记录365天。如果使用普通的key/value, 每个用户要记录365个, 当用户上亿时候, 需要的存储空间是惊人的。 为了解决这个问题, Redis提供了位图数据结构, 阅读全文
posted @ 2020-08-31 09:57 phper-liunian 阅读(667) 评论(0) 推荐(0) 编辑
摘要: Redis 延时队列 Redis的消息队列不是专业的消息队列, 没有非常多的高级特性, 没有ack保证, 如果对消息的可靠性有极致的追求, 那么它就不适合使用。 异步消息队列 Redis的list(列表)数据结构常用来作为异步消息队列使用,使用rpush/lpush操作入队列, 使用lpop和rpo 阅读全文
posted @ 2020-08-31 09:55 phper-liunian 阅读(389) 评论(0) 推荐(0) 编辑
摘要: Redis分布式锁 分布式锁 分布式锁的本质是要是实现在Redis里面占一个坑,当别的进程要占用时,发现被占用,就只好放弃或者稍后再试。 Redis一般用setnx(set if not exists)指令,先来先占,用完在调用del指令释放掉。 但是有个问题,如果执行过程中出现异常,可能会导致de 阅读全文
posted @ 2020-08-31 09:54 phper-liunian 阅读(124) 评论(0) 推荐(0) 编辑