Redis源码剖析与实战

深入源码底层实现,轻松通关Redis面试
蒋德钧
中科院计算所副研究员
1 人已学习 · 共33讲 · 每周二 / 四 / 六更新
收藏

下载 App 随时随地学习

App Store 下载

Android 下载

扫描二维码下载客户端

你将获得

  • 从源码角度理解Redis系统设计思路
  • 经典C语言的开发技巧
  • 掌握计算机系统设计思想
  • Redis高频面试题目解析

课程介绍

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

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

所以说,如果你不了解Redis源码层面的实现原理,那不管你是在实际开发中排查问题故障点,还是在技术面试中快速拆解问题的套路,都可能会受到阻碍。

不过你可能也会觉得:我是想读Redis源码,但是总感觉无从下手,或者是无所适从,结果最后就不了了之了。

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

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

然后,蒋老师会带你细分Redis的各大功能特性,梳理出Redis功能模块的主线逻辑,让你有目标、更高效地阅读和学习代码,进一步掌握Redis不同功能特性的设计与实现思路。并且在阅读代码的过程中,还会带你体会和掌握关键源码对应的计算机系统设计思想,从而你也可以把这些设计思想应用到自己的系统开发中。

课程模块设计

课程主体划分为以下6大模块。

  • 数据结构:你会学习到Redis主要数据结构的设计思想和实现,包括字符串的实现方法、内存紧凑型结构的设计、哈希表性能优化设计,以及ziplist、quicklist、listpack、跳表的设计与实现等。
  • 网络通信与执行模型:你会掌握Redis server的启动流程、高性能网络通信设计与实现、事件驱动框架的设计与实现、Redis线程类型的设计和优化等。
  • 缓存:你会了解常见的缓存替换算法是如何从原理转变为代码的。
  • 可靠性保证:你会掌握RDB、AOF的具体实现,分布式系统中Raft一致性协议的设计实现,故障切换的关键代码实现等。
  • 切片集群:你会学习到Redis切片集群中关键机制的设计与实现,包括Gossip通信协议、请求重定向、数据迁移等。
  • 编程技巧:你会学习和掌握Redis源码中使用的一些编程技巧,并可以应用到自己的程序开发中。

课程目录

讲师介绍

蒋德钧,中科院计算所副研究员,长期致力于研究Redis,有15年云计算系统、存储系统和键值数据库的研发经验和技术积累,曾与蚂蚁金服、百度、华为、中兴等公司围绕键值数据库开展多种研制与优化项目合作,具有非常丰富的Redis实战经验。另外在键值数据库方面,还先后开发混合内存键值数据库HiKV、面向高速SSD的高性能键值数据库LightKV等,在顶级国际会议上发表论文十余篇,申请NVM(非易失内存)相关专利二十多项。

订阅须知

  1. 订阅成功后,推荐通过“极客时间”App端、Web端学习。
  2. 本专栏为虚拟商品,交付形式为图文+音频,一经订阅,概不退款。
  3. 订阅后分享海报,每邀一位好友订阅有现金返现。
  4. 戳此先充值再购课更划算,还有最新课表、超值赠品福利。
  5. 企业采购推荐使用“极客时间企业版”便捷安排员工学习计划,掌握团队学习仪表盘。
  6. 戳此申请学生认证,订阅课程享受原价5折优惠。

看过的人还看了

分布式协议与算法实战

韩健 腾讯资深工程师

31讲 | 8399 人已学习

新人首单¥59.9原价 ¥129
Go 并发编程实战课

晁岳攀(鸟窝) 前微博技术专家,知名微服务框架 rpcx 作者

22讲 | 4560 人已学习

新人首单¥59.9原价 ¥99
Android开发高手课

张绍文 前微信高级工程师,Tinker负责人

62讲 | 17061 人已学习

新人首单¥59.9原价 ¥129
DevOps实战笔记

石雪峰 京东商城工程效率专家

41讲 | 6175 人已学习

新人首单¥59.9原价 ¥129