主题
Redis 学习路线:从数据结构到生产实践
适用版本:Redis 7.x 为主,涉及 5.0/6.0/7.0/7.2/8.x 的差异会在正文单独标注。 主干:数据结构 / 线程模型 / 持久化 / 缓存三大问题 / 分布式锁;常用:内存 / 事务 / 主从 / 哨兵 / 集群;进阶:大 Key / 热点 Key / 生产踩坑 / 监控告警 / AI 负载 / 平台化运维。 按理解 Redis 的自然顺序排列——每一层建立在对上一层的理解之上。
学习顺序
L1: 先理解"Redis 是什么"
→ 01-数据结构 ← 五种常用类型 + 编码选择(SDS/listpack/skiplist)+ 内存代价
L2: 再理解"为什么这么快"
→ 02-线程模型 ← 单线程执行 + IO 多路复用(epoll)+ 6.0 多线程
L3: 然后理解"数据怎么不丢"
→ 03-持久化 ← RDB 快照 + AOF 日志 + 混合持久化
→ 04-内存管理 ← 过期策略(惰性+定期)+ 淘汰策略(LRU/LFU)
L4: 接着理解"怎么高可用"
→ 05-事务 ← MULTI/EXEC/WATCH,Lua 原子性
→ 06-主从复制 ← 全量同步 + 增量同步 + replication buffer
→ 07-哨兵模式 ← 主观下线/客观下线 + 哨兵选举 + 故障转移
→ 08-集群模式 ← 16384 槽 + Gossip 协议 + MOVED/ASK 重定向
L5: 然后面对生产问题
→ 09-缓存穿透击穿雪崩 ← 布隆过滤器、互斥锁、随机过期、永不过期
→ 10-大Key问题 ← 发现(bigkeys/scan)+ 删除(unlink 异步)
→ 11-热点Key问题 ← 发现(monitor/客户端)+ 解决(多副本/本地缓存)
L6: 最后是怎么用好的
→ 12-分布式锁 ← SET NX → EX → RedLock → Redisson 看门狗 → fencing token
→ 13-Redis生产踩坑 ← RDB fork OOM/keys阻塞/大Key删/主从丢数据/热Key倾斜
→ 14-Redis与AI ← 语义缓存/会话状态/限流/事件总线 + Vector Sets
→ 15-Redis监控指标与告警 ← 资源/进程/服务/业务四层指标 + 两条雪崩链路 + 告警起点
L7: 运维与平台化
→ 16-集群生命周期管理 ← 清单/拓扑对账/变更编排/回滚
→ 17-双活与故障切换 ← 逻辑集群路由 + 切换前检查 + 演练与回滚
→ 18-平台化治理 ← key 与 TTL 治理、配置发布、只读查询、审计
→ 19-客户端封装与声明式缓存 ← key/序列化/TTL/空值缓存收口 + 注解与 AOP为什么是这个顺序?
数据结构(L1)是你理解 Redis 一切的前提——知道 listpack 何时升级为哈希表/跳表,才能理解为什么大 Key 危险。
线程模型(L2)解释了 Redis 的性能边界——瓶颈在网不在算,6.0 多线程只优化了网络 IO。
持久化+内存(L3)是可靠性基础——RDB 快照可能丢多少数据?AOF 为什么比 RDB 慢?
高可用(L4)从单机到集群层层递进——主从解决读扩展,哨兵解决自动切换,集群解决写扩展。
生产问题(L5)是线上最容易踩的——缓存穿透、击穿、雪崩的处置方式完全不同。
分布式锁(L6)是工程落地——从单机 SET NX 到 RedLock,四层演进讲清楚每一层补了什么漏洞、又留下什么问题。
AI 场景(L6)是新增负载——Redis 主要承担语义缓存、会话状态和限流,向量检索是附带能力。
平台化(L7)是把前面所有机制变成可运营的流程——集群多起来之后,靠人记拓扑和 key 约定一定会出错。核心链路:一张图串起来
一次请求从进入 Redis 到落盘、清理、被高可用层接管,各篇机制分别挂在这条链路的对应环节上。
顺着链路理解
- 为什么快:数据结构(L1)+ 线程模型(L2)两层决定,不是一句「内存操作」能解释的。
- 数据会不会丢:持久化(L3)+ 主从复制(L4)共同决定,RPO 由两者的配置共同决定。
- 缓存出问题怎么处置:L5 的三种失效模式,对应三套不同的方案,不能混用。
- 分布式锁怎么选:L6 的四层演进,每一层解决一个具体漏洞,Redisson 看门狗解决的是锁续期。
- 怎么提前发现故障:15 篇把指标分成资源、进程、服务、业务四层,并给出「内存→淘汰→命中率→DB」和「fork/持久化→延迟→重试→连接堆积」两条雪崩链路的先兆。
- 集群怎么改、怎么切:16 管日常变更与对账,17 管机房级切换;两者都强调平台记录只是缓存,真实拓扑以
CLUSTER NODES为准。 - 怎么让团队用一致:18 管「谁能连、能查什么、改了什么」,19 管代码里的 key、序列化、TTL 和缓存注解;一个治平台,一个治客户端。
每个结论都能沿着这条路线回溯到更底层的机制。
平台化运维篇
- 16-Redis集群生命周期管理:集群清单、拓扑对账、变更编排与回滚。
- 17-Redis双活与故障切换:逻辑集群路由、切换前检查、演练与应急。
- 18-Redis平台化治理:配置、查询与审计:key 与 TTL 治理、配置发布、只读查询、审计。
- 19-Redis客户端封装与声明式缓存:key/序列化/TTL 收口,注解与 AOP 的边界。
生产检查清单
上线前、运行中、故障时逐条核对:99-生产检查清单。