价格: 19 学币
课程主体划分为以下 6 大模块。
数据结构:你会学习到 Redis 主要数据结构的设计思想和实现,包括字符串的实现方法、内存紧凑型结构的设计、哈希表性能优化设计,以及 ziplist、quicklist、listpack、跳表的设计与实现等。
网络通信与执行模型:你会掌握 Redis server 的启动流程、高性能网络通信设计与实现、事件驱动框架的设计与实现、Redis 线程类型的设计和优化等。
缓存:你会了解常见的缓存替换算法是如何从原理转变为代码的,从而更深刻地理解 Redis 实现缓存算法的设计思路。
可靠性保证:你会掌握 RDB、AOF 的具体实现,分布式系统中 Raft 一致性协议的设计实现,以及故障切换的关键代码实现等代码设计思路。
切片集群:你会学习到 Redis 切片集群中关键机制的设计与实现,包括 Gossip 通信协议、请求重定向、数据迁移等,并帮你搞懂面试中关于构建提升 Redis 使用可扩展性的解题思路。
编程技巧:你会学习和掌握 Redis 源码中使用的一些编程技巧,并可以应用到自己的程序开发中。
.
├── [ 19K] 01-带你快速攻略Redis源码的整体架构.md
├── [ 23M] 01-带你快速攻略Redis源码的整体架构.mp3
├── [5.0M] 01-带你快速攻略Redis源码的整体架构.pdf
├── [ 18K] 02-键值对中字符串的实现,用char-还是结构体?.md
├── [ 19M] 02-键值对中字符串的实现,用char-还是结构体?.mp3
├── [3.6M] 02-键值对中字符串的实现,用char-还是结构体?.pdf
├── [ 25K] 03-如何实现一个性能优异的Hash表?.md
├── [ 25M] 03-如何实现一个性能优异的Hash表?.mp3
├── [5.5M] 03-如何实现一个性能优异的Hash表?.pdf
├── [ 22K] 04-内存友好的数据结构该如何细化设计?.md
├── [ 20M] 04-内存友好的数据结构该如何细化设计?.mp3
├── [4.1M] 04-内存友好的数据结构该如何细化设计?.pdf
├── [ 20K] 05-有序集合为何能同时支持点查询和范围查询?.md
├── [ 19M] 05-有序集合为何能同时支持点查询和范围查询?.mp3
├── [3.8M] 05-有序集合为何能同时支持点查询和范围查询?.pdf
├── [ 29K] 06-从ziplist到quicklist,再到listpack的启发.md
├── [ 28M] 06-从ziplist到quicklist,再到listpack的启发.mp3
├── [4.5M] 06-从ziplist到quicklist,再到listpack的启发.pdf
├── [ 22K] 07-为什么Stream使用了RadixTree?.md
├── [ 22M] 07-为什么Stream使用了RadixTree?.mp3
├── [4.4M] 07-为什么Stream使用了RadixTree?.pdf
├── [ 21K] 08-Redisserver启动后会做哪些操作?.md
├── [ 19M] 08-Redisserver启动后会做哪些操作?.mp3
├── [4.0M] 08-Redisserver启动后会做哪些操作?.pdf
├── [ 24K] 09-Redis事件驱动框架(上):何时使用select、poll、epoll?.md
├── [ 18M] 09-Redis事件驱动框架(上):何时使用select、poll、epoll?.mp3
├── [4.5M] 09-Redis事件驱动框架(上):何时使用select、poll、epoll?.pdf
├── [ 20K] 10-Redis事件驱动框架(中):Redis实现了Reactor模型吗?.md
├── [ 18M] 10-Redis事件驱动框架(中):Redis实现了Reactor模型吗?.mp3
├── [3.8M] 10-Redis事件驱动框架(中):Redis实现了Reactor模型吗?.pdf
├── [ 31K] 11-Redis事件驱动框架(下):Redis有哪些事件?.md
├── [ 25M] 11-Redis事件驱动框架(下):Redis有哪些事件?.mp3
├── [4.3M] 11-Redis事件驱动框架(下):Redis有哪些事件?.pdf
├── [ 29K] 12-Redis真的是单线程吗?.md
├── [ 25M] 12-Redis真的是单线程吗?.mp3
├── [4.7M] 12-Redis真的是单线程吗?.pdf
├── [ 30K] 13-Redis6.0多IO线程的效率提高了吗?.md
├── [ 26M] 13-Redis6.0多IO线程的效率提高了吗?.mp3
├── [4.6M] 13-Redis6.0多IO线程的效率提高了吗?.pdf
├── [ 25K] 14-从代码实现看分布式锁的原子性保证.md
├── [ 22M] 14-从代码实现看分布式锁的原子性保证.mp3
├── [4.5M] 14-从代码实现看分布式锁的原子性保证.pdf
├── [ 28K] 15-为什么LRU算法原理和代码实现不一样?.md
├── [ 24M] 15-为什么LRU算法原理和代码实现不一样?.mp3
├── [3.8M] 15-为什么LRU算法原理和代码实现不一样?.pdf
├── [ 19K] 16-LFU算法和其他算法相比有优势吗?.md
├── [ 19M] 16-LFU算法和其他算法相比有优势吗?.mp3
├── [2.7M] 16-LFU算法和其他算法相比有优势吗?.pdf
├── [ 25K] 17-LazyFree会影响缓存替换吗?.md
├── [ 22M] 17-LazyFree会影响缓存替换吗?.mp3
├── [2.9M] 17-LazyFree会影响缓存替换吗?.pdf
├── [ 24K] 18-如何生成和解读RDB文件?.md
├── [ 22M] 18-如何生成和解读RDB文件?.mp3
├── [4.9M] 18-如何生成和解读RDB文件?.pdf
├── [ 15K] 19-AOF重写(上):触发时机与重写的影响.md
├── [ 15M] 19-AOF重写(上):触发时机与重写的影响.mp3
├── [2.0M] 19-AOF重写(上):触发时机与重写的影响.pdf
├── [ 21K] 20-AOF重写(下):重写时的新写操作记录在哪里?.md
├── [ 19M] 20-AOF重写(下):重写时的新写操作记录在哪里?.mp3
├── [4.5M] 20-AOF重写(下):重写时的新写操作记录在哪里?.pdf
├── [ 18K] 21-主从复制:基于状态机的设计与实现.md
├── [ 15M] 21-主从复制:基于状态机的设计与实现.mp3
├── [4.5M] 21-主从复制:基于状态机的设计与实现.pdf
├── [ 16K] 22-哨兵也和Redis实例一样初始化吗?.md
├── [ 14M] 22-哨兵也和Redis实例一样初始化吗?.mp3
├── [3.3M] 22-哨兵也和Redis实例一样初始化吗?.pdf
├── [ 19K] 23-从哨兵Leader选举学习Raft协议实现(上).md
├── [ 18M] 23-从哨兵Leader选举学习Raft协议实现(上).mp3
├── [2.8M] 23-从哨兵Leader选举学习Raft协议实现(上).pdf
├── [ 24K] 24-从哨兵Leader选举学习Raft协议实现(下).md
├── [ 20M] 24-从哨兵Leader选举学习Raft协议实现(下).mp3
├── [5.4M] 24-从哨兵Leader选举学习Raft协议实现(下).pdf
├── [ 19K] 25-Pub-Sub在主从故障切换时是如何发挥作用的?.md
├── [ 16M] 25-Pub-Sub在主从故障切换时是如何发挥作用的?.mp3
├── [3.3M] 25-Pub-Sub在主从故障切换时是如何发挥作用的?.pdf
├── [ 22K] 26-从Ping-Pong消息学习Gossip协议的实现.md
├── [ 17M] 26-从Ping-Pong消息学习Gossip协议的实现.mp3
├── [5.4M] 26-从Ping-Pong消息学习Gossip协议的实现.pdf
├── [ 19K] 27-从MOVED、ASK看集群节点如何处理命令?.md
├── [ 16M] 27-从MOVED、ASK看集群节点如何处理命令?.mp3
├── [3.7M] 27-从MOVED、ASK看集群节点如何处理命令?.pdf
├── [ 25K] 28-RedisCluster数据迁移会阻塞吗?.md
├── [ 21M] 28-RedisCluster数据迁移会阻塞吗?.mp3
├── [4.8M] 28-RedisCluster数据迁移会阻塞吗?.pdf
├── [ 24K] 29-如何正确实现循环缓冲区?.md
├── [ 22M] 29-如何正确实现循环缓冲区?.mp3
├── [6.3M] 29-如何正确实现循环缓冲区?.pdf
├── [ 19K] 30-如何在系统中实现延迟监控?.md
├── [ 14M] 30-如何在系统中实现延迟监控?.mp3
├── [3.0M] 30-如何在系统中实现延迟监控?.pdf
├── [ 23K] 31-从Module的实现学习动态扩展功能.md
├── [ 20M] 31-从Module的实现学习动态扩展功能.mp3
├── [3.3M] 31-从Module的实现学习动态扩展功能.pdf
├── [ 21K] 32-如何在一个系统中实现单元测试?.md
├── [ 18M] 32-如何在一个系统中实现单元测试?.mp3
├── [4.1M] 32-如何在一个系统中实现单元测试?.pdf
├── [ 14K] 加餐1-Redis性能测试工具的使用.md
├── [ 13M] 加餐1-Redis性能测试工具的使用.mp3
├── [2.6M] 加餐1-Redis性能测试工具的使用.pdf
├── [ 17K] 加餐2-用户Kaito:我是怎么读Redis源码的?.md
├── [ 14M] 加餐2-用户Kaito:我是怎么读Redis源码的?.mp3
├── [3.6M] 加餐2-用户Kaito:我是怎么读Redis源码的?.pdf
├── [ 10K] 加餐3-从Redis到其他键值数据库的学习体会.md
├── [ 11M] 加餐3-从Redis到其他键值数据库的学习体会.mp3
├── [2.2M] 加餐3-从Redis到其他键值数据库的学习体会.pdf
├── [ 15K] 加餐4-RDB和AOF文件损坏了咋办?.md
├── [ 15M] 加餐4-RDB和AOF文件损坏了咋办?.mp3
├── [3.2M] 加餐4-RDB和AOF文件损坏了咋办?.pdf
├── [ 14K] 开篇词-阅读Redis源码能给你带来什么?.md
├── [ 15M] 开篇词-阅读Redis源码能给你带来什么?.mp3
├── [7.9M] 开篇词-阅读Redis源码能给你带来什么?.pdf
├── [2.3K] 期中测试-这些Redis源码知识,你都掌握了吗?.md
├── [2.9M] 期中测试-这些Redis源码知识,你都掌握了吗?.mp3
├── [943K] 期中测试-这些Redis源码知识,你都掌握了吗?.pdf
├── [3.3K] 期中测试题答案-这些问题你都答对了吗?.md
├── [4.2M] 期中测试题答案-这些问题你都答对了吗?.mp3
├── [1.1M] 期中测试题答案-这些问题你都答对了吗?.pdf
├── [ 12K] 用户故事-曾轼麟:世上无难事,只怕有心人.md
├── [ 11M] 用户故事-曾轼麟:世上无难事,只怕有心人.mp3
├── [1.8M] 用户故事-曾轼麟:世上无难事,只怕有心人.pdf
├── [ 15K] 答疑1-第1~6讲课后思考题答案及常见问题答疑.md
├── [ 13M] 答疑1-第1~6讲课后思考题答案及常见问题答疑.mp3
├── [2.2M] 答疑1-第1~6讲课后思考题答案及常见问题答疑.pdf
├── [ 15K] 答疑2-第7~12讲课后思考题答案及常见问题答疑.md
├── [ 14M] 答疑2-第7~12讲课后思考题答案及常见问题答疑.mp3
├── [3.7M] 答疑2-第7~12讲课后思考题答案及常见问题答疑.pdf
├── [ 16K] 答疑3-第13~18讲课后思考题答案及常见问题答疑.md
├── [ 14M] 答疑3-第13~18讲课后思考题答案及常见问题答疑.mp3
├── [3.0M] 答疑3-第13~18讲课后思考题答案及常见问题答疑.pdf
├── [ 16K] 答疑4-第19~24讲课后思考题答案及常见问题答疑.md
├── [ 14M] 答疑4-第19~24讲课后思考题答案及常见问题答疑.mp3
├── [2.0M] 答疑4-第19~24讲课后思考题答案及常见问题答疑.pdf
├── [ 13K] 答疑5-第25~32讲课后思考题答案及常见问题答疑.md
├── [ 12M] 答疑5-第25~32讲课后思考题答案及常见问题答疑.mp3
├── [2.1M] 答疑5-第25~32讲课后思考题答案及常见问题答疑.pdf
├── [8.5K] 结束语-Redis源码阅读,让我们从新开始.md
├── [8.1M] 结束语-Redis源码阅读,让我们从新开始.mp3
├── [1.6M] 结束语-Redis源码阅读,让我们从新开始.pdf
├── [ 770] 结课测试-一套习题,测测你的Redis源码知识掌握程度.md
└── [553K] 结课测试-一套习题,测测你的Redis源码知识掌握程度.pdf