Redis 的五种数据类型与底层数据结构实现
Reids 是一种内存型 k-v 数据库,底层采用 C 语言实现。
提供了五种常用的数据类型:
1. 字符串 - 通过数值或 SDS 实现
2. 列表 - 通过压缩列表或双端链表实现
3. 哈希 - 通过压缩列表或字典实现
3. 集合 - 通过整数集合或字典实现
4. 有序集合 - 通过压缩列表的有序集合或跳跃表+字典组合的数据结构实现
简单动态字符串
数据结构采用 SDS (简单动态字符串)实现,采用空间预分配和惰性释放的原则,使其满足动态扩展的同时又具备很高的性能。
链表
实现通过由 C 语言实现的基于双端链表的数据结构实现,存储链表头、链表尾和链表长度等。
字典
跳跃表
整数集合
压缩列表