小册描述
目录
- 开篇词 | 阅读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 | Pub/Sub在主从故障切换时是如何发挥作用的?
- 26 | 从Ping-Pong消息学习Gossip协议的实现
- 27 | 从MOVED、ASK看集群节点如何处理命令?
- 28 | Redis Cluster数据迁移会阻塞吗?
- 29 | 如何正确实现循环缓冲区?
- 30 | 如何在系统中实现延迟监控?
- 31 | 从Module的实现学习动态扩展功能
- 32 | 如何在一个系统中实现单元测试?