获取资料

极客时间-Redis源码剖析与实战「已完结」

课程介绍

课程主体划分为以下 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

评论0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址