说实话,平常我们在基于Redis做应用开发的时候,可能只是把它作为一个缓存系统或是数据库来存取数据,并不会接触到源码层面的东西。
但实际上,我们在使用或运维Redis的时候,经常会面临Redis性能变差、Redis实例故障之类的问题,而这些问题都会影响到业务应用的运行。再者,经历过大厂面试的人也知道,很多互联网公司在招聘资深技术岗时,都会问一些跟Redis相关的考点问题。
所以说,如果你不了解Redis源码层面的实现原理,那不管你是在实际开发中排查问题故障点,还是在技术面试中快速拆解问题的套路,都可能会受到阻碍。
不过你可能也会觉得:我是想读Redis源码,但是总感觉无从下手,或者是无所适从,结果最后就不了了之了。
其实,你之所以“无从下手”的原因,是缺少了代码结构的全景图,而出现“无所适从”的问题,是缺少阅读目标的牵引和基本原理的支撑。简单来说,就是你没有掌握科学、高效的代码阅读方法。
所以在这门课程中,蒋德钧老师就会分享他实际阅读Redis源码总结出来的经验和方法,帮助你先从整体上掌握Redis源码的结构,也就是形成一幅Redis源码全景图。
然后,蒋老师会带你细分Redis的各大功能特性,梳理出Redis功能模块的主线逻辑,让你有目标、更高效地阅读和学习代码,进一步掌握Redis不同功能特性的设计与实现思路。并且在阅读代码的过程中,还会带你体会和掌握关键源码对应的计算机系统设计思想,从而你也可以把这些设计思想应用到自己的系统开发中。
课程主体划分为以下6大模块。
蒋德钧,中科院计算所副研究员,长期致力于研究Redis,有15年云计算系统、存储系统和键值数据库的研发经验和技术积累,曾与蚂蚁金服、百度、华为、中兴等公司围绕键值数据库开展多种研制与优化项目合作,具有非常丰富的Redis实战经验。另外在键值数据库方面,还先后开发混合内存键值数据库HiKV、面向高速SSD的高性能键值数据库LightKV等,在顶级国际会议上发表论文十余篇,申请NVM(非易失内存)相关专利二十多项。