资源简介
说实话,平常我们在基于 Redis 做应用开发的时候,可能只是把它作为一个缓存系统或是数据库来存取数据,并不会接触到源码层面的东西。
但实际上,我们在使用或运维 Redis 的时候,经常会面临 Redis 性能变差、Redis 实例故障等会影响到业务应用运行的问题。再者,经历过大厂面试的人也知道,很多互联网公司在招聘资深技术岗时,都会问一些跟 Redis 相关的考点问题。
这些问题怎么解决、怎么回答,其实考验的就是我们对 Redis 底层源码的掌握程度。但是,阅读源码,你可能觉得想想都是一件很难的事情:我是想读 Redis 源码,但是总感觉无从下手,或者是无所适从,结果最后就不了了之了。
其实,你之所以“无从下手”的原因,是缺少了代码结构的全景图;而出现“无所适从”的问题,是缺少阅读目标的牵引和基本原理的支撑。简单来说,就是你没有掌握科学、高效的代码阅读方法。
所以在这门课程中,蒋德钧老师就会分享他实际阅读 Redis 源码总结出来的经验和方法,帮助你先从整体上掌握 Redis 源码的结构,也就是形成一幅 Redis 源码全景图。
资源目录
——/计算机教程/02极客时间/100084301-Redis源码剖析与实战/ ├──html | ├──01-带你快速攻略Redis源码的整体架构_For_group_share.html 54.11kb | ├──02-键值对中字符串的实现,用char-还是结构体?_For_group_share.html 54.93kb | ├──03-如何实现一个性能优异的Hash表?_For_group_share.html 50.23kb | ├──04-内存友好的数据结构该如何细化设计?_For_group_share.html 54.59kb | ├──05-有序集合为何能同时支持点查询和范围查询?_For_group_share.html 50.15kb | ├──06-从ziplist到quicklist,再到listpack的启发_For_group_share.html 50.38kb | ├──07-为什么Stream使用了RadixTree?_For_group_share.html 49.16kb | ├──08-Redisserver启动后会做哪些操作?_For_group_share.html 47.83kb | ├──09-Redis事件驱动框架(上):何时使用select、poll、epoll?_For_group_share.html 44.86kb | ├──10-Redis事件驱动框架(中):Redis实现了Reactor模型吗?_For_group_share.html 47.70kb | ├──11-Redis事件驱动框架(下):Redis有哪些事件?_For_group_share.html 66.21kb | ├──12-Redis真的是单线程吗?_For_group_share.html 50.33kb | ├──13-Redis6.0多IO线程的效率提高了吗?_For_group_share.html 57.12kb | ├──14-从代码实现看分布式锁的原子性保证_For_group_share.html 48.74kb | ├──18-如何生成和解读RDB文件?_For_group_share.html 49.93kb | ├──21-主从复制:基于状态机的设计与实现_For_group_share.html 47.11kb | ├──24-从哨兵Leader选举学习Raft协议实现(下)_For_group_share.html 51.76kb | ├──25-PubSub在主从故障切换时是如何发挥作用的?_For_group_share.html 42.90kb | ├──26-从Ping-Pong消息学习Gossip协议的实现_For_group_share.html 45.09kb | ├──27-从MOVED、ASK看集群节点如何处理命令?_For_group_share.html 46.33kb | ├──28-RedisCluster数据迁移会阻塞吗?_For_group_share.html 49.29kb | ├──29-如何正确实现循环缓冲区?_For_group_share.html 45.99kb | ├──30-如何在系统中实现延迟监控?_For_group_share.html 43.50kb | ├──31-从Module的实现学习动态扩展功能_For_group_share.html 44.60kb | ├──答疑1-第1~6讲课后思考题答案及常见问题解析_For_group_share.html 36.23kb | ├──答疑4-第19~24讲课后思考题答案及常见问题答疑_For_group_share.html 37.51kb | ├──答疑5-第25~32讲课后思考题答案及常见问题答疑_For_group_share.html 34.61kb | ├──加餐3-从Redis到其他键值数据库的学习体会_For_group_share.html 30.04kb | ├──加餐4-RDB和AOF文件损坏了咋办?_For_group_share.html 36.61kb | ├──简介_For_group_share.html 25.59kb | ├──结束语-Redis源码阅读,让我们从新开始_For_group_share.html 29.95kb | ├──开篇词-阅读Redis源码能给你带来什么?_For_group_share.html 45.88kb | ├──期中测试题答案-这些问题你都答对了吗?_For_group_share.html 23.52kb | └──用户故事-曾轼麟:世上无难事,只怕有心人_For_group_share.html 32.28kb ├──mp3 | ├──01-带你快速攻略Redis源码的整体架构_For_group_share.mp3 7.11M | ├──02-键值对中字符串的实现,用char-还是结构体?_For_group_share.mp3 4.84M | ├──03-如何实现一个性能优异的Hash表?_For_group_share.mp3 6.28M | ├──04-内存友好的数据结构该如何细化设计?_For_group_share.mp3 6.37M | ├──05-有序集合为何能同时支持点查询和范围查询?_For_group_share.mp3 6.12M | ├──06-从ziplist到quicklist,再到listpack的启发_For_group_share.mp3 7.25M | ├──07-为什么Stream使用了RadixTree?_For_group_share.mp3 5.66M | ├──08-Redisserver启动后会做哪些操作?_For_group_share.mp3 4.89M | ├──09-Redis事件驱动框架(上):何时使用select、poll、epoll?_For_group_share.mp3 4.64M | ├──10-Redis事件驱动框架(中):Redis实现了Reactor模型吗?_For_group_share.mp3 4.77M | ├──11-Redis事件驱动框架(下):Redis有哪些事件?_For_group_share.mp3 8.05M | ├──12-Redis真的是单线程吗?_For_group_share.mp3 8.07M | ├──13-Redis6.0多IO线程的效率提高了吗?_For_group_share.mp3 6.75M | ├──14-从代码实现看分布式锁的原子性保证_For_group_share.mp3 7.02M | ├──15-为什么LRU算法原理和代码实现不一样?_For_group_share.mp3 6.19M | ├──16-LFU算法和其他算法相比有优势吗?_For_group_share.mp3 6.22M | ├──17-LazyFree会影响缓存替换吗?_For_group_share.mp3 6.87M | ├──18-如何生成和解读RDB文件?_For_group_share.mp3 7.09M | ├──19-AOF重写(上):触发时机与重写的影响_For_group_share.mp3 4.07M | ├──20-AOF重写(下):重写时的新写操作记录在哪里?_For_group_share.mp3 4.91M | ├──21-主从复制:基于状态机的设计与实现_For_group_share.mp3 4.08M | ├──22-哨兵也和Redis实例一样初始化吗?_For_group_share.mp3 3.61M | ├──23-从哨兵Leader选举学习Raft协议实现(上)_For_group_share.mp3 5.68M | ├──24-从哨兵Leader选举学习Raft协议实现(下)_For_group_share.mp3 5.36M | ├──25-PubSub在主从故障切换时是如何发挥作用的?_For_group_share.mp3 5.20M | ├──26-从Ping-Pong消息学习Gossip协议的实现_For_group_share.mp3 4.52M | ├──27-从MOVED、ASK看集群节点如何处理命令?_For_group_share.mp3 4.21M | ├──28-RedisCluster数据迁移会阻塞吗?_For_group_share.mp3 5.39M | ├──29-如何正确实现循环缓冲区?_For_group_share.mp3 5.79M | ├──30-如何在系统中实现延迟监控?_For_group_share.mp3 3.68M | ├──31-从Module的实现学习动态扩展功能_For_group_share.mp3 5.07M | ├──答疑1-第1~6讲课后思考题答案及常见问题解析_For_group_share.mp3 3.50M | ├──答疑4-第19~24讲课后思考题答案及常见问题答疑_For_group_share.mp3 4.53M | ├──答疑5-第25~32讲课后思考题答案及常见问题答疑_For_group_share.mp3 3.81M | ├──加餐1-Redis性能测试工具的使用_For_group_share.mp3 3.58M | ├──加餐2-用户Kaito:我是怎么读Redis源码的?_For_group_share.mp3 3.73M | ├──加餐3-从Redis到其他键值数据库的学习体会_For_group_share.mp3 3.52M | ├──加餐4-RDB和AOF文件损坏了咋办?_For_group_share.mp3 3.88M | ├──结束语-Redis源码阅读,让我们从新开始_For_group_share.mp3 2.23M | ├──开篇词-阅读Redis源码能给你带来什么?_For_group_share.mp3 4.87M | ├──期中测试-这些Redis源码知识,你都掌握了吗?_For_group_share.mp3 1.08M | ├──期中测试题答案-这些问题你都答对了吗?_For_group_share.mp3 1.46M | └──用户故事-曾轼麟:世上无难事,只怕有心人_For_group_share.mp3 2.98M └──pdf | ├──01-带你快速攻略Redis源码的整体架构_For_group_share.pdf 1.51M | ├──02-键值对中字符串的实现,用char-还是结构体?_For_group_share.pdf 721.99kb | ├──03-如何实现一个性能优异的Hash表?_For_group_share.pdf 1.29M | ├──04-内存友好的数据结构该如何细化设计?_For_group_share.pdf 1.24M | ├──05-有序集合为何能同时支持点查询和范围查询?_For_group_share.pdf 977.42kb | ├──06-从ziplist到quicklist,再到listpack的启发_For_group_share.pdf 1.95M | ├──07-为什么Stream使用了RadixTree?_For_group_share.pdf 1.39M | ├──08-Redisserver启动后会做哪些操作?_For_group_share.pdf 1.25M | ├──09-Redis事件驱动框架(上):何时使用select、poll、epoll?_For_group_share.pdf 1023.71kb | ├──10-Redis事件驱动框架(中):Redis实现了Reactor模型吗?_For_group_share.pdf 926.41kb | ├──11-Redis事件驱动框架(下):Redis有哪些事件?_For_group_share.pdf 1.02M | ├──12-Redis真的是单线程吗?_For_group_share.pdf 1.10M | ├──13-Redis6_For_group_share.0多IO线程的效率提高了吗?.pdf 1.15M | ├──14-从代码实现看分布式锁的原子性保证_For_group_share.pdf 1.48M | ├──15-为什么LRU算法原理和代码实现不一样?_For_group_share.pdf 798.75kb | ├──16-LFU算法和其他算法相比有优势吗?_For_group_share.pdf 431.78kb | ├──18-如何生成和解读RDB文件?_For_group_share.pdf 1.58M | ├──20-AOF重写(下):重写时的新写操作记录在哪里?_For_group_share.pdf 961.16kb | ├──22-哨兵也和Redis实例一样初始化吗?_For_group_share.pdf 604.21kb | ├──23-从哨兵Leader选举学习Raft协议实现(上)_For_group_share.pdf 434.91kb | ├──24-从哨兵Leader选举学习Raft协议实现(下)_For_group_share.pdf 1.15M | ├──25-PubSub在主从故障切换时是如何发挥作用的?_For_group_share.pdf 685.82kb | ├──26-从Ping-Pong消息学习Gossip协议的实现_For_group_share.pdf 1.08M | ├──27-从MOVED、ASK看集群节点如何处理命令?_For_group_share.pdf 733.55kb | ├──28-RedisCluster数据迁移会阻塞吗?_For_group_share.pdf 1.11M | ├──29-如何正确实现循环缓冲区?_For_group_share.pdf 1.79M | ├──30-如何在系统中实现延迟监控?_For_group_share.pdf 418.62kb | ├──31-从Module的实现学习动态扩展功能_For_group_share.pdf 614.41kb | ├──答疑1-第1~6讲课后思考题答案及常见问题解析_For_group_share.pdf 260.98kb | ├──答疑4-第19~24讲课后思考题答案及常见问题答疑_For_group_share.pdf 346.00kb | ├──答疑5-第25~32讲课后思考题答案及常见问题答疑_For_group_share.pdf 205.09kb | ├──加餐1-Redis性能测试工具的使用_For_group_share.pdf 439.21kb | ├──加餐2-用户Kaito:我是怎么读Redis源码的?_For_group_share.pdf 723.74kb | ├──加餐3-从Redis到其他键值数据库的学习体会_For_group_share.pdf 156.63kb | ├──加餐4-RDB和AOF文件损坏了咋办?_For_group_share.pdf 532.03kb | ├──结束语-Redis源码阅读,让我们从新开始_For_group_share.pdf 302.49kb | ├──开篇词-阅读Redis源码能给你带来什么?_For_group_share.pdf 1.15M | ├──期中测试题答案-这些问题你都答对了吗?_For_group_share.pdf 105.34kb | └──用户故事-曾轼麟:世上无难事,只怕有心人_For_group_share.pdf 442.00kb
学习
感谢分享
非常感谢哦谢谢啦
感谢分享
感谢分享
感谢分享
感谢分享
感谢分享
感谢分享
深入学习Redis
感谢分享
感谢分享
面试准备需要,感谢
学习一下
学习
感谢分享
深入学习Redis
看书也能提升加油看吧
慢慢学redis
多謝!!!!!
感谢分享
感谢分享
感谢
学习一下
感谢分享
学习学习
感谢分享
感谢分享
感谢分享