压缩列表(ziplist)是列表键和哈希键的底层实现之一。 Redis的列表键,哈希键,有序集合的底层实现都用到了ziplist。
整数集合(intset)是集合键的底层实现之一: 当一个集合只包含整数值元素, 并且这个集合的元素数量不多时, Redis 就会使用整数集合作为集合键的底层实现。
跳跃表(skiplist)是一种有序数据结构, 它通过在每个节点中维持多个指向其他节点的指针, 从而达到快速访问节点的目的。
先贴一下整体的代码
改换一下策略,不直接介绍源码,打算先整体介绍一下思路,然后再根据源码解释具体的实现。
Redis另一个基础的数据结构是链表,C并没有内置的链表结构,因此Redis自己实现了一个列表。
Redis 没有直接使用 C 语言传统的字符串表示, 而是自己构建了一种名为简单动态字符串(simple dynamic string,SDS)的抽象类型, 并将 SDS 用作 Redis 的默认字符串表示。