如果你在简历上写了「熟悉 Redis」,然后被追问一句「缓存雪崩时你的降级方案是怎么设计的」,能不能接得住?这门课解决的就是这种「会用但说不清」的状态。蒋德钧的《Redis 核心技术与实战》不是一份命令速查表,它把 Redis 拆成几个必须搞懂的能力块:数据结构怎么选、持久化怎么权衡、主从与集群怎么保证可用、性能瓶颈从哪儿查。

先确认自己缺的是哪一块

Redis 的学习者大致分三种,对号入座比盲目从头看效率高得多。第一种是「只用过 String 存 JSON」——那你要补的是数据结构选型,比如同样存一个用户对象,String、Hash、ZSet 在内存占用和更新代价上差在哪里,为什么排行榜一定要用 ZSet 的 skiplist 而不是自己排序。第二种是「会用但没管过线上」——重点在持久化与高可用,RDB 和 AOF 混用时到底发生了什么、主从复制是全量还是增量、哨兵切换的那几秒请求去哪儿了。第三种是「面试能背但没动手调过」——那需要盯住性能排查那条线:慢查询日志、内存碎片率、bigkey 怎么定位、pipeline 和批量命令的边界在哪。

这门课的目录里有一块明显偏「未来」的内容,涉及多线程、客户端缓存以及基于新内存介质的实践。这不是赶时髦,而是提醒一件事:Redis 6.0 之后 IO 模型变了,你把老版本的经验直接套到新集群上,可能会误判性能。备考或转岗的人最容易在这里露怯——面试官问「Redis 是单线程吗」,答「是」或「不是」都不完整,关键是说清哪部分单线程、哪部分多线程、为什么这样设计。

配套练习:不动手等于没学

光看讲解容易产生「我懂了」的错觉。建议按下面的顺序自己搭环境验证,每一条都能在本地或测试实例上跑:

  • 用 redis-cli --bigkeys 和内存采样命令,找出自己造数据里最大的那个 key,再说出它为什么危险。
  • 手工触发一次主从切换,记录客户端从报错到恢复的时间,观察这个过程中有没有数据丢失。
  • 给同一个业务场景分别用 String 和 Hash 实现,比较内存占用与单字段更新时的命令数量。
  • 打开慢查询日志,人为塞一条复杂度高的命令(比如对超大集合做全量操作),看它怎么被记下来。
  • 针对缓存穿透、击穿、雪崩三个词,各写一段伪代码级的应对方案,不要只写名词。

这些练习不需要生产权限,一台本地实例加一份压测工具就够。做不出来的地方,恰好就是该重点听的章节。

看完应该能回答的问题

门课的价值不能只用「讲了多少知识点」衡量,要看它能不能让你在面对具体问题时给出有依据的判断。学完之后,下面这些问题应该能当场答上来,而不是回去翻笔记:

  • 同一个缓存 key 突然失效,大量请求同时打到数据库,你的第一道防线放在 Redis 层还是应用层,为什么?
  • RDB 快照期间主线程被 fork 阻塞,这个阻塞时间跟什么有关,怎么控制?
  • 集群模式下 mget 涉及跨 slot 的 key,会发生什么,怎么绕开?
  • 客户端缓存(tracking)适合什么场景,它和本地缓存的一致性风险怎么处理?
  • 一条命令响应变慢,你按什么顺序排除网络、命令复杂度、内存淘汰、持久化这几个因素?

如果这些问题里有超过两个答不完整,这门课就值得系统过一遍。反过来,如果你已经能讲清主从切换的细节和内存淘汰策略的选择依据,那就挑「未来篇」和运维工具那部分补缺即可——别假装什么都会,把时间花在真正的缺口上。

极客时间付费-专栏课-蒋德钧-Redis核心技术与实战

深入解析Redis核心技术与实战

编辑点评

系统学习Redis,从基础到实战,覆盖最新特性与运维技巧。

⭐ 编辑推荐

蒋德钧主讲,全面解析Redis核心技术与实战,助你成为高手的必备课程。

课程亮点

• Redis核心特性深入解析
• 实战案例丰富实用
• 涵盖最新Redis 6.0特性

课程目录

📁 03-未来篇 (4讲)
    39 _ Redis 6.0的新特性:多线程、客户端缓存与安全【优质资源‖关注:cunWorkNotes 解锁】.pdf  [5.3 MB]
    40 _ Redis的下一步:基于NVM内存的实践.pdf  [1.1 MB]
    39丨RRedis 6.0的新特性:多线程、客户端缓存与安全.m4a  [10.6 MB]
    40丨Redis的下一步:基于NVM内存的实践.m4a  [8.3 MB]
    41丨第35~40讲课后思考题答案及常见问题答疑.m4a  [8.5 MB]
    41 _ 第35~40讲课后思考题答案及常见问题答疑.pdf  [2.2 MB]
    40 _ Redis的下一步:基于NVM内存的实践.html  [1.9 MB]
    39 _ Redis 6.0的新特性:多线程、客户端缓存与安全.html  [7.0 MB]
    41 _ 第35~40讲课后思考题答案及常见问题答疑.html  [3.1 MB]
📁 04-加餐篇 (7讲)
    加餐(五)丨 Redis有哪些好用的运维工具?.pdf  [2.4 MB]
    加餐(四)丨Redis客户端如何与服务器端交换命令和数据?【更多精选‖公众号:CunWorknotes】  .html  [4.2 MB]
    加餐(二)_ Kaito:我是如何学习Redis的?【整理不易‖记得关注:CunWorKNotes】.html  [4.2 MB]
    加餐(七) _ 从微博的Redis实践中,我们可以学到哪些经验?【不易整理‖请关注:CunWorkNoteS】.pdf  [1.9 MB]
    加餐(六)_ Redis的使用规范小建议.html  [3.8 MB]
    加餐(三)丨Kaito:我希望成为在压力中成长的人.html  [3.6 MB]
    加餐(五)丨 Redis有哪些好用的运维工具?.html  [3.2 MB]
    加餐(二) Kaito:我是如何学习Redis的?-极客时间.m4a  [10.5 MB]
    加餐(七) _ 从微博的Redis实践中,我们可以学到哪些经验?.html  [2.8 MB]
    加餐(二)丨Kaito:我是如何学习Redis的?.pdf  [2.8 MB]
    加餐(一)丨经典的Redis学习资料有哪些?.pdf  [2.2 MB]
    加餐(七)丨从微博的Redis实践中,我们可以学到哪些经验?.m4a  [9.6 MB]
    加餐(六)_ Redis的使用规范小建议.pdf  [2.6 MB]
    加餐(四)丨Redis客户端如何与服务器端交换命令和数据?.pdf  [2.4 MB]
    加餐(三)丨Kaito:我希望成为在压力中成长的人.pdf  [2.1 MB]
    加餐(六)丨Redis的使用规范小建议.m4a  [10.8 MB]
    加餐(一)_ 经典的Redis学习资料有哪些?.html  [3.7 MB]
    加餐(三)丨Kaito:我希望成为在压力中成长的人.m4a  [8.2 MB]
    加餐(一) 经典的Redis学习资料有哪些?-极客时间.m4a  [6.8 MB]
    加餐(五)丨 Redis有哪些好用的运维工具?.m4a  [8.0 MB]
📁 02-实践篇 (28讲)
    15丨消息队列的考验:Redis有哪些解决方案?【公重号:CunWorkNotes】.html  [6.7 MB]
    25丨缓存异常(上):如何解决缓存和数据库的数据不一致问题?.pdf  [7.4 MB]
    35丨 Codis VS Redis Cluster:我该选择哪一个集群方案?.html  [8.8 MB]
    24丨替换策略:缓存满了怎么办?.html  [5.1 MB]
    33丨 脑裂:一次奇怪的数据丢失【更多精选‖公众号:CunWorknotes】  .html  [3.2 MB]
    38 _ 通信开销:限制Redis Cluster规模的关键因素【优质资源‖关注:cunWorkNotes 解锁】.html  [1.9 MB]
    12丨有一亿个keys要统计,应该用哪种集合?.html  [5.8 MB]
    16丨异步机制:如何避免单线程模型的阻塞?.pdf  [3.5 MB]
    13丨GEO是什么?还可以定义新的数据类型吗?.pdf  [5.8 MB]
    17丨为什么CPU结构也会影响Redis的性能?.pdf  [4.3 MB]
    28丨Pika如何基于SSD实现大容量Redis?.pdf  [4.9 MB]
    17丨为什么CPU结构也会影响Redis的性能?.html  [5.9 MB]
    19丨波动的响应延迟:如何应对变慢的Redis?(下)【不易整理‖请关注:CunWorkNoteS】.pdf  [3.6 MB]
    16丨异步机制:如何避免单线程模型的阻塞?.html  [4.9 MB]
    15丨消息队列的考验:Redis有哪些解决方案?【不易整理‖请关注:CunWorkNoteS】.pdf  [4.5 MB]
    14丨如何在Redis中保存时间序列数据?.pdf  [3.0 MB]
    35丨 Codis VS Redis Cluster:我该选择哪一个集群方案?.pdf  [6.2 MB]
    37 _ 数据分布优化:如何应对数据倾斜?【资源精选‖更多关注:CunworkNotes】.pdf  [3.2 MB]
    24丨替换策略:缓存满了怎么办?【持续更新‖免费提供:CunworknoteS】.pdf  [2.9 MB]
    21丨缓冲区:一个可能引发“惨案”的地方.html  [4.3 MB]
    36丨 Redis支撑秒杀场景的关键技术和实践都有哪些?.html  [2.3 MB]
    29丨无锁的原子操作:Redis如何应对并发访问?.pdf  [2.7 MB]
    32丨 Redis主从同步与故障切换,有哪些坑?.pdf  [3.8 MB]
    37 _ 数据分布优化:如何应对数据倾斜?.html  [4.6 MB]
    31丨 事务机制:Redis能实现ACID属性吗?.pdf  [3.2 MB]
    21丨缓冲区:一个可能引发“惨案”的地方.m4a  [14.5 MB]
    11丨“万金油”的String,为什么不好用了?.pdf  [3.8 MB]
    36丨 Redis支撑秒杀场景的关键技术和实践都有哪些?.pdf  [1.4 MB]
    30丨如何使用Redis实现分布式锁?.pdf  [3.2 MB]
    13丨GEO是什么?还可以定义新的数据类型吗?.html  [8.6 MB]
    18丨波动的响应延迟:如何应对变慢的Redis?(上).m4a  [10.8 MB]
    11丨“万金油”的String,为什么不好用了?.m4a  [11.8 MB]
    38 _ 通信开销:限制Redis Cluster规模的关键因素.pdf  [1.2 MB]
    34丨 第23~33讲课后思考题答案及常见问题答疑.html  [2.9 MB]
    22丨第11~21讲课后思考题答案及常见问题答疑.html  [2.6 MB]
    36丨 Redis支撑秒杀场景的关键技术和实践都有哪些?.m4a  [9.9 MB]
    28丨Pika如何基于SSD实现大容量Redis?.m4a  [14.0 MB]
    20丨删除数据后,为什么内存占用率还是很高?.pdf  [3.0 MB]
    26丨缓存异常(下):如何解决缓存雪崩、击穿、穿透难题?.pdf  [5.6 MB]
    25丨缓存异常(上):如何解决缓存和数据库的数据不一致问题?.m4a  [9.7 MB]
    25丨缓存异常(上):如何解决缓存和数据库的数据不一致问题?.html  [10.3 MB]
    30丨如何使用Redis实现分布式锁?.m4a  [13.1 MB]
    29丨无锁的原子操作:Redis如何应对并发访问?.html  [4.1 MB]
    33丨 脑裂:一次奇怪的数据丢失.pdf  [2.1 MB]
    19丨波动的响应延迟:如何应对变慢的Redis?(下).m4a  [12.1 MB]
    23丨旁路缓存:Redis是如何工作的?.pdf  [3.4 MB]
    28丨Pika如何基于SSD实现大容量Redis?.html  [7.1 MB]
    35丨 Codis VS Redis Cluster:我该选择哪一个集群方案?.m4a  [14.6 MB]
    16丨异步机制:如何避免单线程模型的阻塞?.m4a  [10.6 MB]
    33丨 脑裂:一次奇怪的数据丢失.m4a  [8.2 MB]
    30丨如何使用Redis实现分布式锁?.html  [4.9 MB]
    12丨有一亿个keys要统计,应该用哪种集合?.m4a  [13.7 MB]
    18丨波动的响应延迟:如何应对变慢的Redis?(上).pdf  [2.4 MB]
    14丨如何在Redis中保存时间序列数据?.html  [4.6 MB]
    15丨消息队列的考验:Redis有哪些解决方案?.m4a  [14.6 MB]
    13丨GEO是什么?还可以定义新的数据类型吗?.m4a  [14.6 MB]
    27丨缓存被污染了,该怎么办?.m4a  [13.1 MB]
    23丨旁路缓存:Redis是如何工作的?.html  [5.4 MB]
    11丨“万金油”的String,为什么不好用了?.html  [5.3 MB]
    18丨波动的响应延迟:如何应对变慢的Redis?(上).html  [3.6 MB]
    14丨如何在Redis中保存时间序列数据?.m4a  [12.3 MB]
    17丨为什么CPU结构也会影响Redis的性能?.m4a  [16.4 MB]
    12丨有一亿个keys要统计,应该用哪种集合?.pdf  [3.9 MB]
    19丨波动的响应延迟:如何应对变慢的Redis?(下).html  [5.4 MB]
    34丨 第23~33讲课后思考题答案及常见问题答疑.m4a  [11.0 MB]
    21丨缓冲区:一个可能引发“惨案”的地方.pdf  [2.8 MB]
    26丨缓存异常(下):如何解决缓存雪崩、击穿、穿透难题?.m4a  [10.7 MB]
    31丨 事务机制:Redis能实现ACID属性吗?.m4a  [11.1 MB]
    22丨第11~21讲课后思考题答案及常见问题答疑.pdf  [1.5 MB]
    20丨删除数据后,为什么内存占用率还是很高?.html  [4.6 MB]
    27丨缓存被污染了,该怎么办?.pdf  [3.3 MB]
    29丨无锁的原子操作:Redis如何应对并发访问?.m4a  [9.3 MB]
    24丨替换策略:缓存满了怎么办?.m4a  [13.9 MB]
    31丨 事务机制:Redis能实现ACID属性吗?.html  [4.7 MB]
    32丨 Redis主从同步与故障切换,有哪些坑?.m4a  [10.3 MB]
    22丨第11~21讲课后思考题答案及常见问题答疑.m4a  [15.4 MB]
    26丨缓存异常(下):如何解决缓存雪崩、击穿、穿透难题?.html  [7.9 MB]
    38丨通信开销:限制RedisCluster规模的关键因素.m4a  [8.7 MB]
    20丨删除数据后,为什么内存占用率还是很高?.m4a  [11.4 MB]
    37丨数据分布优化:如何应对数据倾斜?.m4a  [9.7 MB]
    27丨缓存被污染了,该怎么办?.html  [5.2 MB]
    34丨 第23~33讲课后思考题答案及常见问题答疑.pdf  [1.9 MB]
    32丨 Redis主从同步与故障切换,有哪些坑?.html  [5.5 MB]
📁 00-开篇词 (1讲)
    00丨开篇词丨这样学Redis,才能技高一筹.html  [5.9 MB]
    00丨开篇词丨这样学Redis,才能技高一筹.pdf  [8.3 MB]
    00丨开篇词丨这样学Redis,才能技高一筹.m4a  [9.5 MB]
📁 05-期中测试 (2讲)
    期中测试题丨一套习题,测出你的掌握程度【公重号:CunWorkNotes】.html  [2.9 MB]
    期中测试题答案丨这些问题,你都答对了吗?.pdf  [1.2 MB]
    期中测试题答案丨这些问题,你都答对了吗?.html  [2.5 MB]
    期中测试题答案丨这些问题,你都答对了吗?.m4a  [4.7 MB]
    期中测试题丨一套习题,测出你的掌握程度.pdf  [1.4 MB]
    期中测试题丨一套习题,测出你的掌握程度.m4a  [3.9 MB]
📁 01-基础篇 (10讲)
    02丨数据结构:快速的Redis有哪些慢操作?【更多精选‖公众号:CunWorknotes】  .pdf  [3.9 MB]
    04丨AOF日志:宕机了,Redis如何避免数据丢失?【不易整理‖请关注:CunWorkNoteS】.html  [6.1 MB]
    08丨哨兵集群:哨兵挂了,主从库还能切换吗?【不易整理‖请关注:CunWorkNoteS】.html  [7.1 MB]
    06丨数据同步:主从库如何实现数据一致?【不易整理‖请关注:CunWorkNoteS】.pdf  [5.3 MB]
    07丨哨兵机制:主库挂了,如何不间断服务?【公重号:CunWorkNotes】.html  [5.1 MB]
    03丨高性能IO模型:为什么单线程Redis能那么快?.m4a  [9.8 MB]
    07丨哨兵机制:主库挂了,如何不间断服务?.pdf  [3.9 MB]
    08丨哨兵集群:哨兵挂了,主从库还能切换吗?.pdf  [5.2 MB]
    01丨基本架构:一个键值数据库包含什么?.pdf  [5.5 MB]
    02丨数据结构:快速的Redis有哪些慢操作?.m4a  [13.7 MB]
    06丨数据同步:主从库如何实现数据一致?.html  [7.4 MB]
    01丨基本架构:一个键值数据库包含什么?.html  [5.1 MB]
    06丨数据同步:主从库如何实现数据一致?.m4a  [11.4 MB]
    07丨哨兵机制:主库挂了,如何不间断服务?.m4a  [10.7 MB]
    03丨高性能IO模型:为什么单线程Redis能那么快?.pdf  [4.1 MB]
    02丨数据结构:快速的Redis有哪些慢操作?.html  [5.5 MB]
    05丨内存快照:宕机后,Redis如何实现快速恢复?.html  [6.2 MB]
    04丨AOF日志:宕机了,Redis如何避免数据丢失?.m4a  [10.8 MB]
    09丨切片集群:数据增多了,是该加内存还是加实例?.html  [7.2 MB]
    03丨高性能IO模型:为什么单线程Redis能那么快?.html  [5.8 MB]
    01丨基本架构:一个键值数据库包含什么?.m4a  [13.7 MB]
    05丨内存快照:宕机后,Redis如何实现快速恢复?.pdf  [4.3 MB]
    08丨哨兵集群:哨兵挂了,主从库还能切换吗?.m4a  [10.2 MB]
    09丨切片集群:数据增多了,是该加内存还是加实例?.pdf  [5.0 MB]
    05丨内存快照:宕机后,Redis如何实现快速恢复?.m4a  [11.0 MB]
    04丨AOF日志:宕机了,Redis如何避免数据丢失?.pdf  [4.2 MB]
    10丨第1~9讲课后思考题答案及常见问题答疑.m4a  [15.3 MB]
    10丨第1~9讲课后思考题答案及常见问题答疑.html  [7.4 MB]
    09丨切片集群:数据增多了,是该加内存还是加实例?.m4a  [11.9 MB]
    10丨第1~9讲课后思考题答案及常见问题答疑.pdf  [5.3 MB]
📁 06-结束语 (1讲)
    结束语 _ 从学习Redis到向Redis学习.html  [2.5 MB]
    结束语 _ 从学习Redis到向Redis学习.pdf  [1.6 MB]
    结束语丨从学习Redis到向Redis学习.m4a  [6.3 MB]

适合人群

  • 后端开发工程师
  • 数据库运维人员
  • 对Redis有深入需求的技术人员

学习收获

掌握Redis核心原理和操作
学会使用Redis解决实际业务问题
了解Redis集群与运维技巧

祝您学习愉快!

学有所成,前程似锦!