2021年8月2日

对象系统 - 《Redis设计与实现》读书笔记

摘要: 对象系统 Redis使用对象来表示数据库中的键和值 每种对象都用到了至少一种数据结构:动态字符串、链表、字典、跳跃表、整数集合、压缩列表 针对不同的使用场景,为对象设置多种不同的数据结构实现,优化对象在不同场景下的使用效率 基于引用计数技术的 内存回收机制 和 对象共享机制 对象带有访问时间记录信息 阅读全文

posted @ 2021-08-02 17:17 果然朝辉 阅读(33) 评论(0) 推荐(0) 编辑

压缩列表 - 《Redis设计与实现》读书笔记

摘要: 使用场景 当一个列表键只包含少量列表项,并且每个列表项要么就是小整数值,要么就是长度比较短的字符串,使用压缩列表实现列表键 当一个哈希键只包含少量键值对,并且每个键值对的键和值要么就是小整数值,要么就是长度比较短的字符串,使用压缩哈希实现哈希键 定义 // 压缩列表是为了节约内存而开发出由 一系列特 阅读全文

posted @ 2021-08-02 17:15 果然朝辉 阅读(39) 评论(0) 推荐(0) 编辑

整数集合 -《Redis设计与实现》读书笔记

摘要: 使用场景 当一个集合只包含整数值元素,并且集合的元素数量不多时,使用整数集合实现集合键 定义 // 整数集合(intset)是Redis用于保存整数值的集合抽象数据结构,可以保存类型为int16_t、int32_t或者int64_t的整数值 typedef struct intset { // 编码 阅读全文

posted @ 2021-08-02 17:08 果然朝辉 阅读(42) 评论(0) 推荐(0) 编辑

跳跃表 -《Redis设计与实现》读书笔记

摘要: 使用场景 当有序集合包含的元素数量比较多 或者 有序集合中元素的成员是比较长的字符串时,使用跳跃表实现有序集合 集群节点中用作内部数据结构 定义 // 跳跃表节点 typedef struct zskiplistNode { // 成员对象:一个SDS值 // 在同一个跳跃表中,各个节点保存的成员对 阅读全文

posted @ 2021-08-02 16:56 果然朝辉 阅读(45) 评论(0) 推荐(0) 编辑

导航