你将获得什么?
- 系统完善的 Redis 全景知识体系
- 经典 Redis 场景+案例实战贯穿解析
- Redis 的复制原理、常见问题和故障处理方案
- 解锁大厂必问的 Redis 面试问题
课程介绍
Redis 作为具备高性能、高可靠和高可扩展性的典型键值数据库,是很多互联网公司的首选。大厂招聘的时候,不仅会要求面试者能简单使用 Redis,还要深入理解其底层实现原理,具备解决常见问题的能力。可以说,熟练掌握 Redis 是后端工程师的必备技能。
蒋德钧根据自己多年的研究以及教学经验,梳理了一套系统的 Redis 学习方法。他将纷繁复杂的 Redis 知识和问题归纳在“两大维度,三大主线”这个框架之中,希望帮你建立起系统观和全局观,从而带你彻底搞懂底层实现原理。
除此之外,蒋德钧还会具体分析常见的问题以及应对方案,讲解 Redis 在典型场景(比如缓存、秒杀)中的应用,让你能够快速掌握行之有效的实战经验,并应用在自己的 Redis 项目中,全方位提升你的实战能力。
课程主体分为 4 大模块。
- 基础篇:从构建一个键值数据库的关键架构入手,不仅带你建立起全局观,还帮你迅速抓住核心主线。除此之外,还会具体讲解数据结构、线程模型、网络框架、持久化、主从同步和切片集群等,帮你搞懂底层原理。
- 实践篇:重点从典型案例和常用场景两个维度介绍 Redis 的实战经验。在“案例”层面,会详细讲解数据结构的合理使用、避免请求阻塞和抖动、提升内存使用效率的关键技巧;在“场景”层面,会针对缓存和集群两大场景,透彻讲解缓存的基本原理,以及雪崩、穿透、污染等异常情况的应对方案,还会围绕集群方案优化、数据一致性、高并发访问等问题,分享具体可行的解决方案。
- 未来篇:围绕 Redis 6.0 的多线程等新特性进行讲解,还会介绍业界的最新探索,帮你提前掌握 Redis 的发展路线图,为未来的发展做好准备。
- 加餐篇:不定期更新,会介绍 Redis 的常用工具、客户端定制开发、经典的使用规范,还会带你解读大厂的 Redis 实践,进一步提升你的实战能力。
课程目录
开篇词 (1讲)
开篇词 | 这样学Redis,才能技高一筹
基础篇 (10讲)
01 | 基本架构:一个键值数据库包含什么?
02 | 数据结构:快速的Redis有哪些慢操作?
03 | 高性能IO模型:为什么单线程Redis能那么快?
04 | AOF日志:宕机了,Redis如何避免数据丢失?
05 | 内存快照:宕机后,Redis如何实现快速恢复?
06 | 数据同步:主从库如何实现数据一致?
07 | 哨兵机制:主库挂了,如何不间断服务?
08 | 哨兵集群:哨兵挂了,主从库还能切换吗?
09 | 切片集群:数据增多了,是该加内存还是加实例?
10 | 第1~9讲课后思考题答案及常见问题答疑
实践篇 (28讲)
11 | “万金油”的String,为什么不好用了?
12 | 有一亿个keys要统计,应该用哪种集合?
13 | GEO是什么?还可以定义新的数据类型吗?
14 | 如何在Redis中保存时间序列数据?
15 | 消息队列的考验:Redis有哪些解决方案?
16 | 异步机制:如何避免单线程模型的阻塞?
17 | 为什么CPU结构也会影响Redis的性能?
18 | 波动的响应延迟:如何应对变慢的Redis?(上)
19 | 波动的响应延迟:如何应对变慢的Redis?(下)
20 | 删除数据后,为什么内存占用率还是很高?
21 | 缓冲区:一个可能引发“惨案”的地方
22 | 第11~21讲课后思考题答案及常见问题答疑
23 | 旁路缓存:Redis是如何工作的?
24 | 替换策略:缓存满了怎么办?
25 | 缓存异常(上):如何解决缓存和数据库的数据不一致问题?
26 | 缓存异常(下):如何解决缓存雪崩、击穿、穿透难题?
27 | 缓存被污染了,该怎么办?
28 | Pika:如何基于SSD实现大容量Redis?
29 | 无锁的原子操作:Redis如何应对并发访问?
30 | 如何使用Redis实现分布式锁?
31 | 事务机制:Redis能实现ACID属性吗?
32 | Redis主从同步与故障切换,有哪些坑?
33 | 脑裂:一次奇怪的数据丢失
34 | 第23~33讲课后思考题答案及常见问题答疑
35 | Codis VS Redis Cluster:我该选择哪一个集群方案?
36 | Redis支撑秒杀场景的关键技术和实践都有哪些?
37 | 数据分布优化:如何应对数据倾斜?
38 | 通信开销:限制Redis Cluster规模的关键因素
未来篇 (4讲)
39 | Redis 6.0的新特性:多线程、客户端缓存与安全
40 | Redis的下一步:基于NVM内存的实践
41 | 第35~40讲课后思考题答案及常见问题答疑
期末测试 | 这些Redis核心知识,你都掌握了吗?
加餐篇 (7讲)
加餐(一)| 经典的Redis学习资料有哪些?
加餐(二)| 用户Kaito:我是如何学习Redis的?
加餐(三)| 用户Kaito:我希望成为在压力中成长的人
加餐(四) | Redis客户端如何与服务器端交换命令和数据?
加餐(五) | Redis有哪些好用的运维工具?
加餐(六)| Redis的使用规范小建议
加餐(七) | 从微博的Redis实践中,我们可以学到哪些经验?
期中测试 (2讲)
期中测试题 | 一套习题,测出你的掌握程度
期中测试题答案 | 这些问题,你都答对了吗?
结束语 (1讲)
结束语 | 从学习Redis到向Redis学习
讲师介绍
蒋德钧,中科院计算所副研究员,清华大学硕士,荷兰阿姆斯特丹 Vrije Universiteit 博士,长期致力于研究 Redis,与阿里、蚂蚁金服、百度、华为、中兴等公司开展多种项目合作,具有非常丰富的 Redis 实战经验。与此同时,还长期研究新型存储介质、键值数据库、存储系统、操作系统等,在顶级国际会议上发表论文十余篇,申请 NVM (非易失内存)相关专利二十多项。