黄健宏. Redis 设计与实现. 机械工业出版社. 第一版
本书官网见 http://redisbook.com/ 。
记于2024.09.07 第一部分可称之为 C 语言生产级别数据结构的设计与实践。剩下章节中,最感兴趣的是 Redis 3.0 的事件调度。整本书写得像一本叙述原理的说明说, which means 有些死板枯燥,想要面面俱到但是又说不清一些内容。关于 Redis 5.0 新增的 Stream 功能,我需要对其原理有了解,我会补充文章。此外,我还会尝试 debug Redis 3.0 ,我需要看到 sub/pub 的一次完整流程背后发生了什么。
介绍了本书各章节的内容及关系。
第一部分可以换一个名字:“ C 语言数据结构设计与实践”。 Redis 为「如何在 C 语言中封装工程可用的数据结构」提供了一种工程实践范例:
- 如何使用 C 宏
- 定义了基本的数据结构及其 API
- 定义了“数据结构对象”这一个更高层次的概念,内部实现数据结构的「动态选型」与转化,从而完成时间空间的 trade off
- 8.1 对象的类型与编码
- 8.2 字符串对象
- 8.3 列表对象
- 8.4 哈希对象
- 8.5 集合对象
- 8.6 有序集合对象
- 8.7 类型检查与命令多态
- 8.8 内存回收
- 8.9 对象共享
- 8.10 对象的空转时长
- 9.1 服务器中的数据库
- 9.2 切换数据库
- 9.3 数据库键空间(redisDb)
- 9.4 设置键的生存时间或过期时间
- 9.5 过期键删除策略
- 9.6 Redis 的过期键删除策略
- 9.7 AOF 、 RDB 和复制功能对过期键的处理
- 9.8 数据库通知
- 16.1 启动并初始化 Sentinel
- 16.2 获取主服务器信息
- 16.3 获取从服务器信息
- 16.4 向主服务器和从服务器发送信息
- 16.5 接收来自主服务器和从服务器的频道信息
- 16.6 检测主观下线状态
- 16.7 检测客观下线状态
- 16.8 选举领头Sentinel
- 16.9 故障转移
- 21.1 SORT 命令的实现
- 21.2 ALPHA 选项的实现
- 21.3 ASC 选项和 DESC 选项的实现
- 21.4 BY 选项的实现
- 21.5 带有 ALPHA 选项的 BY 选项的实现
- 21.6 LIMIT 选项的实现
- 21.7 GET 选项的实现
- 21.8 STORE 选项的实现
- 21.9 多个选项的执行顺序