Redis 源码剖析与实战

Redis 源码剖析与实战

00 开篇词 阅读Redis源码能给你带来什么?

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

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

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

04 内存友好的数据结构该如何细化设计?

05 有序集合为何能同时支持点查询和范围查询?

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

07 为什么Stream使用了Radix Tree?

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

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

10 Redis事件驱动框架(中):Redis实现了Reactor模型吗?

11 Redis事件驱动框架(下):Redis有哪些事件?

12 Redis真的是单线程吗?

13 Redis 6.0多IO线程的效率提高了吗?

14 从代码实现看分布式锁的原子性保证

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

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

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

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

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

20 AOF重写(下):重写时的新写操作记录在哪里?

21 主从复制:基于状态机的设计与实现

22 哨兵也和Redis实例一样初始化吗?

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

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

25 PubSub在主从故障切换时是如何发挥作用的?

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

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

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

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

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

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

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

结束语 Redis源码阅读,让我们从新开始