如果你在日常开发中只把 Redis 当作一个简单的 KV 存储或缓存中间件,偶尔遇到性能瓶颈或数据丢失需要查源码,那么这套《Redis7 深度解析》就是为你准备的。它不是教你怎么安装或写业务代码,而是直接潜入 C 语言源码底层,拆解 Redis 内核是如何处理事件、管理内存、执行命令以及实现高可用集群的。这门课解决的核心问题是:当线上出现难以复现的 Bug、高并发下的性能抖动或集群脑裂风险时,你是否有能力通过阅读源码快速定位问题根因,而不仅仅依赖文档或盲目重启服务。

适合具备 C 语言基础的开发人员

零基础或仅懂 Java/Go 的初学者慎入

资料包线索明确显示,课程前几章包含“10 分钟 C 语言入门”和“Redis7.0 环境搭建与 PR 阅读指导”,这意味着它默认读者对指针、内存管理和 C 结构体有基本认知。如果你从未写过 C 代码,甚至对操作系统层面的 I/O 多路复用(如 epoll/kqueue)一无所知,直接看内核解析篇会非常痛苦。这门课适合那些已经能熟练调用 Redis API、但在面对 OOM、主从延迟、集群数据迁移失败等深层问题时感到无助的中高级后端工程师。它不适合仅想学会使用 Lettuce/Jedis 客户端的入门者,因为其重点在于理解 Redis 服务端如何响应这些客户端请求。

建议按“内核-数据-高可用”三段式阅读

不要试图按章节序号从头读到尾,这样效率极低。建议首先跳至**内核解析篇**(第 26-33 章),重点吃透 Redis 核心结构体、事件驱动框架及网络建连逻辑。这是理解后续所有功能的地基,只有明白 redisServer 结构体如何组织,才能看懂命令是如何被调度和执行的。在掌握内核骨架后,再进入**数据结构篇**(第 11-23 章),深入 ziplist、listpack、quicklist 等底层实现,理解 Redis 如何在内存限制下进行数据结构优化,这部分直接关联到你生产环境中“为什么我的 key 占用内存比预期大”的问题。最后攻克**持久化与高可用篇**(第 41-60 章),包括 RDB/AOF 机制、主从同步协议以及 Cluster 集群的节点握手与 Slot 迁移逻辑。对于特别关注 Redis 7.0 新特性的读者,可单独阅读 Functions 原理分析章节,这是该版本的重要扩展能力。

学完后能独立做什么

完成学习并配合源码实践后,你应当具备以下独立能力:第一,能够阅读 Redis 源码中的特定模块,定位内存泄漏或性能热点函数;第二,在集群运维中,能准确判断 Slot 迁移过程中的数据一致性风险,而非仅依赖监控报警;第三,理解主从复制的增量同步机制,从而优化全量同步期间的网络带宽占用;第四,基于对底层数据结构的理解,合理设计 Key 策略,避免哈希冲突或链表退化导致的性能雪崩。资料包中的 Markdown 文件均对应具体章节的原理剖析,建议阅读时结合本地克隆的 Redis 7.0 源码,在阅读到“代码片段分析”部分时,直接在 IDE 中对照源码跳转,将阅读笔记中的逻辑与真实代码结构进行映射。不要试图死记硬背所有代码行,重点在于理解设计思想(如为什么用 ziplist 替代 listpack,为什么集群采用 Hash 槽分配),并在自己的测试环境中模拟故障场景,验证你对原理的理解是否准确。这种“源码阅读+故障模拟”的练习方式,比单纯看视频或读文章更能转化为实际的排障能力。

课程目录

课程目录64 条
  • 第46章—持久存储篇:AOFRewrite机制剖析.md [25.7 KB]
  • 第48章—主从同步篇:从库视角下的主从复制(上).md [17.3 KB]
  • 第50章—主从同步篇:主库视角下的主从复制(上).md [14.8 KB]
  • 第53章—Sentinel篇:Sentinel核心结构体分析.md [22.9 KB]
  • 第55章—Sentinel篇:Sentinel故障转移实现解析.md [22.7 KB]
  • 第58章—Cluster篇:集群配置与slot分配解析.md [28.1 KB]
  • 第60章—Cluster篇:节点迁移与数据迁移实现解析.md [21.7 KB]
  • 第67章—扩展能力篇:Redis7新特性之Functions原理分析.md [15.4 KB]
  • 第33章—内核解析篇:Redis时间事件的二三事.md [25.6 KB]
  • 第28章—内核解析篇:Redis事件驱动核心框架解析.md [21.4 KB]
  • 第26章—内核解析篇:Redis核心结构体精讲.md [33.8 KB]
  • 第23章—数据结构篇:intset优化原理与实现.md [10.8 KB]
  • 第21章—数据结构篇:Hash核心方法剖析.md [19.2 KB]
  • 第15章—数据结构篇:深入ziplist之写入数据.md [25.7 KB]
  • 第11章—实战应用篇:SortedSet命令详解与实战.md [18.0 KB]
  • 第02章—先导基础篇:初识Redis.md [11.9 KB]
  • 第13章—数据结构篇:sds核心方法解析.md [26.2 KB]
  • 第08章—实战应用篇:Hash命令详解与实战(上).md [11.6 KB]
  • 第29章—内核解析篇:Redis网络建连逻辑详解.md [15.3 KB]
  • 第37章—命令解析篇:Hash与Set命令的实现原理.md [25.7 KB]
  • 第17章—数据结构篇:深入ziplist的替代者listpack.md [20.7 KB]
  • 第44章—持久存储篇:AOF写入流程分析(上).md [17.1 KB]
  • 第03章—先导基础篇:10分钟C语言入门.md [12.9 KB]
  • 第04章—先导基础篇:Redis7.0环境搭建与PR阅读指导.md [12.8 KB]
  • 第06章—实战应用篇:List命令详解与实战(上).md [21.9 KB]
  • 第47章—主从同步篇:主从复制核心原理剖析.md [14.7 KB]
  • 第30章—内核解析篇:Redis读取与请求核心.md [20.8 KB]
  • 第38章—命令解析篇:List命令与阻塞操作原理.md [31.0 KB]
  • 第19章—数据结构篇:深入quicklist核心方法.md [31.8 KB]
  • 第40章—命令解析篇:事务命令实现解析.md [16.2 KB]
  • 第49章—主从同步篇:从库视角下的主从复制(下).md [22.9 KB]
  • 第32章—内核解析篇:命令响应的核心原理解析.md [18.7 KB]
  • 第22章—数据结构篇:Hash迭代器实现思想.md [20.7 KB]
  • 第27章—内核解析篇:Redis线程模型与IO模型的进化史.md [15.7 KB]
  • 第41章—持久存储篇:RDB持久化关键流程.md [23.5 KB]
  • 第42章—持久存储篇:RDB格式分析.md [20.6 KB]
  • 第16章—数据结构篇:深入ziplist之查询、删除与更新操作详解.md [12.8 KB]
  • 第52章—主从同步篇:主库视角下的主从复制(下).md [16.4 KB]
  • 第61章—生产者-消费者模式篇:Pub&Sub与ShardPub&Sub解析.md [18.5 KB]
  • 第57章—Cluster篇:RedisCluster节点握手流程分析.md [24.0 KB]
  • 第14章—数据结构篇:深入ziplist之核心结构分析.md [9.6 KB]
  • 第34章—内核解析篇:RedisKey的过期与删除.md [42.5 KB]
  • 第05章—实战应用篇:RedisString命令与实战.md [27.3 KB]
  • 第51章—主从同步篇:主库视角下的主从复制(中).md [11.3 KB]
  • 第66章—扩展能力篇:Redis扩展利器之Lua脚本.md [21.5 KB]
  • 第36章—命令解析篇:通用命令与String命令实现解析.md [30.7 KB]
  • 第12章—数据结构篇:深入Redissds.md [16.2 KB]
  • 第54章—Sentinel篇:Sentinel监控原理.md [35.6 KB]
  • 第45章—持久存储篇:AOF写入流程分析(下).md [15.8 KB]
  • 第25章—数据结构篇:深入Rax树实现.md [32.2 KB]
  • 第09章—实战应用篇:Hash命令详解与实战(下).md [13.4 KB]
  • 第68章—结束语:点亮你的Redis技能树,轻松晋升为行业技术大牛.md [15.6 KB]
  • 第59章—Cluster篇:RedisCluster中的failover原理.md [19.8 KB]
  • 第07章—实战应用篇:List命令详解与实战(下).md [16.2 KB]
  • 第01章—开篇词:如何才能精通Redis?.md [15.4 KB]
  • 第43章—持久存储篇:后台RDB持久化.md [22.9 KB]
  • 第65章—扩展能力篇:GEO命令的二三事.md [18.7 KB]
  • 第10章—实战应用篇:Set命令详解与实战.md [17.0 KB]
  • 第18章—数据结构篇:quicklist核心原理剖析.md [15.4 KB]
  • 第20章—数据结构篇:深入Hash实现.md [17.0 KB]
  • 第35章—内核解析篇:Redis内存淘汰机制.md [24.6 KB]
  • 第24章—数据结构篇:skiplist原理与实现解析.md [20.9 KB]
  • 第31章—内核解析篇:命令解析与执行.md [19.7 KB]
  • 第39章—命令解析篇:SortedSet命令实现原理.md [21.4 KB]