跳到正文

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 和缓存注解;一个治平台,一个治客户端。

每个结论都能沿着这条路线回溯到更底层的机制。

平台化运维篇 ​

生产检查清单 ​

上线前、运行中、故障时逐条核对:99-生产检查清单。

把一门技术讲透到既懂也会用