[Redis] jk112-Redis源码剖析与实战(HTML+PDF+MP3(更新至25节)

[复制链接]
online_admin aixure 发表于 2021-10-31 15:26:42 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题
jk112-Redis源码剖析与实战(HTML+PDF+MP3(更新至25节)
【课程介绍】
jk112-Redis源码剖析与实战(HTML+PDF+MP3(更新至25节)https://time.geekbang.org/column/intro/100084301
说实话,平常我们在基于Redis做应用开发的时候,可能只是把它作为一个缓存系统或是数据库来存取数据,并不会接触到源码层面的东西。
但实际上,我们在使用或运维Redis的时候,经常会面临Redis性能变差、Redis实例故障等会影响到业务应用运行的问题。再者,经历过大厂面试的人也知道,很多互联网公司在招聘资深技术岗时,都会问一些跟Redis相关的考点问题。
这些问题怎么解决、怎么回答,其实考验的就是我们对Redis底层源码的掌握程度。但是,阅读源码,你可能觉得想想都是一件很难的事情:我是想读Redis源码,但是总感觉无从下手,或者是无所适从,结果最后就不了了之了。
其实,你之所以“无从下手”的原因,是缺少了代码结构的全景图;而出现“无所适从”的问题,是缺少阅读目标的牵引和基本原理的支撑。简单来说,就是你没有掌握科学、高效的代码阅读方法。
所以在这门课程中,蒋德钧老师就会分享他实际阅读Redis源码总结出来的经验和方法,帮助你先从整体上掌握Redis源码的结构,也就是形成一幅Redis源码全景图。
jk112-Redis源码剖析与实战(HTML+PDF+MP3(更新至25节)
然后,蒋老师会带你细分Redis的各大功能特性,梳理出Redis功能模块的主线逻辑,让你有目标、更高效地阅读和学习代码,进一步掌握Redis不同功能特性的设计与实现思路。并且在阅读代码的过程中,还会带你体会和掌握关键源码对应的计算机系统设计思想,从而你也可以把这些设计思想应用到自己的系统开发中。
课程模块设计
课程主体划分为以下6大模块。
  • 数据结构:你会学习到Redis主要数据结构的设计思想和实现,包括字符串的实现方法、内存紧凑型结构的设计、哈希表性能优化设计,以及ziplist、quicklist、listpack、跳表的设计与实现等。
  • 网络通信与执行模型:你会掌握Redis server的启动流程、高性能网络通信设计与实现、事件驱动框架的设计与实现、Redis线程类型的设计和优化等。
  • 缓存:你会了解常见的缓存替换算法是如何从原理转变为代码的,从而更深刻地理解Redis实现缓存算法的设计思路。
  • 可靠性保证:你会掌握RDB、AOF的具体实现,分布式系统中Raft一致性协议的设计实现,以及故障切换的关键代码实现等代码设计思路。
  • 切片集群:你会学习到Redis切片集群中关键机制的设计与实现,包括Gossip通信协议、请求重定向、数据迁移等,并帮你搞懂面试中关于构建提升Redis使用可扩展性的解题思路。
  • 编程技巧:你会学习和掌握Redis源码中使用的一些编程技巧,并可以应用到自己的程序开发中。
课程中如果没有特殊说明,老师介绍的源码都是基于 Redis 5.0.8 版本的。
【网盘下载地址SVIP专享通道(电脑版访问)】
游客,如果您要查看本帖隐藏内容请回复


【课程目录】
课前导读 (2讲)

jk112-Redis源码剖析与实战(HTML+PDF+MP3(更新至25节)开篇词 | 阅读Redis源码能给你带来什么?

01 | 带你快速攻略Redis源码的整体架构




数据结构模块 (6讲)

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

03 | 如何实现一个性能优异的Hash表?

04 | 内存友好的数据结构该如何细化设计?
jk112-Redis源码剖析与实战(HTML+PDF+MP3(更新至25节)
05 | 有序集合为何能同时支持点查询和范围查询?

06 | 从ziplist到quicklist,再到listpack的启发

07 | 为什么Stream使用了Radix Tree?




事件驱动框架和执行模型模块 (7讲)

08 | Redis server启动后会做哪些操作?

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

10 | Redis事件驱动框架(中):Redis实现了Reactor模型吗?
jk112-Redis源码剖析与实战(HTML+PDF+MP3(更新至25节)
11 | Redis事件驱动框架(下):Redis有哪些事件?

12 | Redis真的是单线程吗?

13 | Redis 6.0多IO线程的效率提高了吗?
jk112-Redis源码剖析与实战(HTML+PDF+MP3(更新至25节)
14 | 从代码实现看分布式锁的原子性保证




缓存模块 (3讲)

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

16 | LFU算法和其他算法相比有优势吗?

17 | Lazy Free会影响缓存替换吗?




期中测试 (2讲)

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

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




可靠性保证模块 (8讲)

18 | 如何生成和解读RDB文件?

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

20 | AOF重写(下):重写时的新写操作记录在哪里?
jk112-Redis源码剖析与实战(HTML+PDF+MP3(更新至25节)
21 | 主从复制:基于状态机的设计与实现
jk112-Redis源码剖析与实战(HTML+PDF+MP3(更新至25节)
22 | 哨兵也和Redis实例一样初始化吗?

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

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

25 | Pub/Sub在主从故障切换时是如何发挥作用的?




不定期加餐 (5讲)

加餐1 | Redis性能测试工具的使用

加餐2 | 用户Kaito:我是怎么读Redis源码的?
jk112-Redis源码剖析与实战(HTML+PDF+MP3(更新至25节)
加餐3 | 从Redis到其他键值数据库的学习体会

加餐4 | RDB和AOF文件损坏了咋办?

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




Redis Cluster模块 (3讲)

26 | 从Ping-Pong消息学习Gossip协议的实现

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

28 | Redis Cluster数据迁移会阻塞吗?




编程技巧模块 (4讲)

29 | 如何正确实现循环缓冲区?

30 | 如何在系统中实现延迟监控?

31 | 从Module的实现学习动态扩展功能

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




问题答疑 (3讲)

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

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

答疑3 | 第13~18讲课后思考题答案及常见问题解析





温馨提示:
1、如果下载地址失效,请尽快反馈给我们,我们尽快修复。点此反馈>>
2、全站资源高清无密,课程百分百高清,完整,原画,包含所有的视频+素材+课件+源码,官方同步体验!每天更新,成为vip后可免费下载本站IT课程。点此办理会员>>
3、有任何问题,请咨询QQ:87887023
4、支持7*24小时自助购买,购买后自动发货,链接永久有效,自动更新
回复

使用道具 举报

精彩评论8

plugin
online_1_1 rowkey 发表于 2022-2-9 10:21:22 | 显示全部楼层
Redis源码剖析与实战(HTML+PDF+MP3(更新至25节) [修改]
回复

使用道具 举报

plugin
在线会员 Gzx632411450 发表于 2022-2-9 12:26:22 | 显示全部楼层
111111111111111111
回复

使用道具 举报

plugin
online_1_1 carson9246 发表于 2022-3-16 20:49:15 | 显示全部楼层
Redis源码剖析与实
回复

使用道具 举报

plugin
online_4 huanghao2693 发表于 2022-9-1 10:27:23 | 显示全部楼层
感谢分享
回复

使用道具 举报

plugin
online_1_1 aizy 发表于 2022-9-20 23:21:22 | 显示全部楼层
sdfdsfgdgv
回复

使用道具 举报

plugin
online_1_1 Conaboo 发表于 2023-7-8 14:36:45 | 显示全部楼层
11111111111111111
回复

使用道具 举报

plugin
online_4 18382305731 发表于 2023-10-28 22:10:12 | 显示全部楼层
11111111111111
回复

使用道具 举报

plugin
online_1_1 diasa 发表于 2023-12-20 18:40:12 | 显示全部楼层
老九啊快剪短发啦势均力敌
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

专注资源整合与知识分享
客服QQ

87887023

周一至周日9:00-23:00

反馈建议

点此进行反馈 kfs 在线QQ咨询
ftqrcode

扫描二维码关注我们

label_sm_90020

Powered by 优百课栈 X3.4© 2019-2025