从源码角度理解 Redis 系统设计思路

经典 C 语言的开发技巧

掌握计算机系统设计思想

Redis 高频面试题目解析

课程介绍

说实话,平常我们在基于 Redis 做应用开发的时候,可能只是把它作为一个缓存系统或是数据库来存取数据,并不会接触到源码层面的东西。

但实际上,我们在使用或运维 Redis 的时候,经常会面临 Redis 性能变差、Redis 实例故障等会影响到业务应用运行的问题。再者,经历过大厂面试的人也知道,很多互联网公司在招聘资深技术岗时,都会问一些跟 Redis 相关的考点问题。

这些问题怎么解决、怎么回答,其实考验的就是我们对 Redis 底层源码的掌握程度。但是,阅读源码,你可能觉得想想都是一件很难的事情:我是想读 Redis 源码,但是总感觉无从下手,或者是无所适从,结果最后就不了了之了。

其实,你之所以“无从下手”的原因,是缺少了代码结构的全景图;而出现“无所适从”的问题,是缺少阅读目标的牵引和基本原理的支撑。简单来说,就是你没有掌握科学、高效的代码阅读方法。

所以在这门课程中,蒋德钧老师就会分享他实际阅读 Redis 源码总结出来的经验和方法,帮助你先从整体上掌握 Redis 源码的结构,也就是形成一幅 Redis 源码全景图。

课程目录

01丨带你快速攻略Redis源码的整体架构.pdf

02丨键值对中字符串的实现,用char还是结构体?.pdf

03丨如何实现一个性能优异的Hash表?.pdf

04丨内存友好的数据结构该如何细化设计?.pdf

05丨有序集合为何能同时支持点查询和范围查询?.pdf

06丨从ziplist到quicklist,再到listpack的启发.pdf

07丨为什么Stream使用了RadixTree?.pdf

08丨Redisserver启动后会做哪些操作?.pdf

09丨Redis事件驱动框架(上):何时使用select、poll、epoll?.pdf

10丨Redis事件驱动框架(中):Redis实现了Reactor模型吗?.pdf

11丨Redis事件驱动框架(下):Redis有哪些事件?.pdf

12丨Redis真的是单线程吗?.pdf

13丨Redis6.pdf

14丨从代码实现看分布式锁的原子性保证.pdf

15丨为什么LRU算法原理和代码实现不一样?.pdf

16丨LFU算法和其他算法相比有优势吗?.pdf

17丨LazyFree会影响缓存替换吗?.pdf

18丨如何生成和解读RDB文件?.pdf

19丨AOF重写(上):触发时机与重写的影响.pdf

20丨AOF重写(下):重写时的新写操作记录在哪里?.pdf

21丨主从复制:基于状态机的设计与实现.pdf

22丨哨兵也和Redis实例一样初始化吗?.pdf

23丨从哨兵Leader选举学习Raft协议实现(上).pdf

24丨从哨兵Leader选举学习Raft协议实现(下).pdf

25丨Pub-Sub在主从故障切换时是如何发挥作用的?.pdf

26丨从Ping-Pong消息学习Gossip协议的实现.pdf

27丨从MOVED、ASK看集群节点如何处理命令?.pdf

28丨RedisCluster数据迁移会阻塞吗?.pdf

29丨如何正确实现循环缓冲区?.pdf

30丨如何在系统中实现延迟监控?.pdf

31丨从Module的实现学习动态扩展功能.pdf

32丨如何在一个系统中实现单元测试?.pdf

答疑1丨第1~6讲课后思考题答案及常见问题解析.pdf

答疑2丨第7~12讲课后思考题答案及常见问题解析.pdf

答疑3丨第13~18讲课后思考题答案及常见问题答疑.pdf

答疑4丨第19~24讲课后思考题答案及常见问题答疑.pdf

答疑5丨第25~32讲课后思考题答案及常见问题答疑.pdf

加餐1丨Redis性能测试工具的使用.pdf

加餐2丨用户Kaito:我是怎么读Redis源码的?.pdf

加餐3丨从Redis到其他键值数据库的学习体会.pdf

加餐4丨RDB和AOF文件损坏了咋办?.pdf

结束语丨Redis源码阅读,让我们从新开始.pdf

开篇词丨阅读Redis源码能给你带来什么?.pdf

期中测试丨这些Redis源码知识,你都掌握了吗?.pdf

期中测试题答案丨这些问题你都答对了吗?.pdf

用户故事丨曾轼麟:世上无难事,只怕有心人.pdf

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

因为本站的资源皆来自于互联网收集,不乏一些商业版权资源,如果你是充值会员或者RMB付款用户,并且已经成功付款但是网站没有弹出成功提示,可能是因为该资源被审查取消了分享导致无法下载,请联系客服2998852718@qq.com 提供付款信息为你提供额外网盘链接。

最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。 若排除这种情况,可在对应资源底部留言,或联系右侧导航栏我们客服。

对于会员专享、整站源码、程序插件、视频课程等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。

本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考法律声明与VIP介绍。

视频、源码、素材等资源属于虚拟商品,具有可复制性,可传播性,一旦授予,不接受任何形式的退款、换货要求。请您在购买获取之前勿必仔细阅读本站声明,并确认好是您所需要的资源,否则请不要购买!!