- 百舸争流:redis 可重入锁 => setnx + expire
- redis 消息队列 => list
- 缓兵之计:redis 延迟队列 => zset
- 节衣缩食:redis 位图 => bit []
- 四两拨千斤:redis HyperLogLog => 通过低位连续0位的最大长度 k估算随机数的数量N
- 层峦叠嶂:redis 布隆过滤器 => 多重hash + bit[]
- 断尾求生:redis 简单限流 => zset 设置标志key,score为当前时间戳,value唯一
- redis 漏斗限流 => 类似于漏斗,有一定的缓冲空间
- 近水楼台:redis GeoHash => GeoHash 算法将二维坐标映射为一维整数,zset排序后,还原二维坐标
- 大海捞针:redis scan
- [秒杀活动] => set 为资格 + 限流 TODO
- redis 线程I/O模型 => 多路复用+ 非阻塞IO
- redis 通信协议 => RESP 简单文本协议
- redis 持久化 => RDB + AOF
- redis 管道 => use pipeline
- redis 事务 => multi/exec/discard
- redis 事件 => socket
- redis 5.0+ Stream => 支持多播的可持久化的消息队列
- redis 复制 => 主从同步+读写分离
- redis sentinel
- redis 集群
- redis info指令
- 朝生暮死:redis 过期策略 => 定时删除+惰性删除
- 优胜劣汰:redis LRU策略 => 传统LRU + 随机采样
- 妙手仁心:优雅的jedis
- 阅读 Redis 源码的顺序参考
- string 的背后 => sds
- list 的背后 => quicklist(ziplist / linkedlist)
- hash 的背后 => ziplist / hashtable(dict)
- set 的背后 => intset / hashtable(dict)
- zset 的背后 => ziplist / skiplist(zskiplist + dict)
- stream 的背后 => listpack + rax
- redis object
- redis 官网
- 《Redis 深度历险》
- 《Redis 设计与实现(第二版)》
- redis-under-the-hood