Skip to content

Redis · 必学内容图

1. 数据结构与编码

五大基本类型(String/Hash/List/Set/ZSet)的命令与业务场景
底层结构:SDS、Dict(渐进式 rehash)、Listpack/Ziplist、Skiplist、Quicklist、Intset
编码切换(embstr/raw、ziplist↔hashtable、listpack 阈值、44 字节由来)
高级类型:Bitmap(位图)、HyperLogLog(基数统计)、GEO(地理位置)、Stream
为什么用跳表不用红黑树/平衡树

2. 键管理与内存

过期键删除策略(惰性删除 + 定期删除)
内存淘汰策略(8 种:noeviction/allkeys-lru/volatile-lru/LFU/random/ttl)
内存模型:一个 key 的内存构成、jemalloc 对齐、内存碎片率与主动整理
SCAN 渐进遍历(反向二进制迭代为什么安全)

3. 持久化

RDB:SAVE/BGSAVE、fork + COW、save 触发、优缺点
AOF:写后日志、三种 fsync(always/everysec/no)、AOF 重写、7.0 Multi-Part AOF
混合持久化(RDB 前缀 + 增量 AOF)
fork 停顿(latest_fork_usec)与生产取舍

4. 缓存模式与三大问题

Cache Aside / Read Through / Write Through / Write Behind
缓存穿透(布隆过滤器/空值缓存)
缓存击穿(热点 key 互斥重建/逻辑过期)
缓存与数据库双写一致性(并发删缓存陷阱、延迟双删、订阅 binlog/canal)
本地缓存 + Redis 二级(多级)缓存

5. 分布式锁

SETNX/SET NX EX 的原子性、误删与超时
锁续期(WatchDog)、可重入锁(Hash 实现)
Redlock 算法与争议(Martin Kleppmann 之争)
Redisson:公平锁/读写锁/信号量/MultiLock

6. 高可用:复制 / 哨兵 / Cluster

主从复制:全量(RDB+缓冲)与增量(psync/backlog)、异步复制丢数据窗口、级联复制
哨兵:主观/客观下线、Raft 选 leader、故障转移、客户端感知、脑裂
Cluster:16384 槽由来、MOVED/ASK 重定向、gossip、Hash Tag、在线扩缩容/槽迁移
三种架构选型与 min-replicas 写入保护

7. 运维与故障

单线程事件循环、为什么快、阻塞操作(keys/大 key/lua/fork)
Redis 6.0 多线程 IO(只并行读写系统调用)
bigkey 治理(--bigkeys/拆分/UNLINK/lazyfree)
hotkey 发现与打散
Pipeline vs 批量命令
事务 MULTI/EXEC/WATCH 与 Lua 原子性

8. 新特性与选型

Redis 6 多线程、Redis 7 Functions/ACL/Sharded PubSub
Redis 不适用场景 / 选型短板
Stream 消息队列(消费者组/ACK/PEL)
异地多活 Active-Active / CRDT / Gossip

手撕 → 框架 → 生产化,一步步把 AI Agent 工程化搞透。
粤ICP备2026104257号-1