Redis 设计与实现(第二版)
介绍
前言
致谢
简介
第一部分:数据结构与对象
简单动态字符串
SDS 的定义
SDS 与 C 字符串的区别
SDS API
重点回顾
参考资料
链表
链表和链表节点的实现
链表和链表节点的 API
重点回顾
字典
字典的实现
哈希算法
解决键冲突
rehash
渐进式 rehash
字典 API
重点回顾
跳跃表
跳跃表的实现
跳跃表 API
重点回顾
整数集合
整数集合的实现
升级
升级的好处
降级
整数集合 API
重点回顾
压缩列表
压缩列表的构成
压缩列表节点的构成
连锁更新
压缩列表 API
重点回顾
对象
对象的类型与编码
字符串对象
列表对象
哈希对象
集合对象
有序集合对象
类型检查与命令多态
内存回收
对象共享
对象的空转时长
重点回顾
第二部分:单机数据库的实现
数据库
数据库键空间
重点回顾
RDB 持久化
RDB 文件结构
重点回顾
AOF 持久化
AOF 持久化的实现
重点回顾
事件
文件事件
重点回顾
参考资料
客户端
客户端属性
重点回顾
服务器
命令请求的执行过程
重点回顾
第三部分:多机数据库的实现
复制
旧版复制功能的实现
重点回顾
Sentinel
启动并初始化 Sentinel
重点回顾
参考资料
集群
节点
重点回顾
第四部分:独立功能的实现
发布与订阅
频道的订阅与退订
重点回顾
参考资料
事务
事务的实现
重点回顾
Lua 脚本
创建并修改 Lua 环境
重点回顾
排序
SORT <key> 命令的实现
重点回顾
二进制位数组
GETBIT 命令的实现
重点回顾
慢查询日志
慢查询记录的保存
慢查询日志的阅览和删除
添加新日志
重点回顾
监视器
成为监视器
向监视器发送命令信息
重点回顾
源码、相关资源和勘误
Redis 设计与实现(第二版)
第一部分:数据结构与对象
压缩列表
重点回顾
上一篇:
压缩列表 API
下一篇:
对象的类型与编码
重点回顾
压缩列表是一种为节约内存而开发的顺序型数据结构。
压缩列表被用作列表键和哈希键的底层实现之一。
压缩列表可以包含多个节点,每个节点可以保存一个字节数组或者整数值。
添加新节点到压缩列表, 或者从压缩列表中删除节点, 可能会引发连锁更新操作, 但这种操作出现的几率并不高。
上一篇:
压缩列表 API
下一篇:
对象的类型与编码