Redis基础数据结构
发布时间
阅读量:
阅读量
文章目录
- 简易动态字符串SDS
- 双层双向链表Quicklist
- 字典Dict
- 跳表Skiplist
- 整数集合Intset
- 压缩列表Ziplist
已知Redis支持了五类不同的对象类型。Redis根据不同的应用场景配置了多种数据存储方案,并通过合适的存储方案使得对象在各种应用场景中能够高效运行。
简单动态字符串SDS
SDS(Simple Dynamic String)实现了对原始C字符串的封装策略,在Redis系统中除了一些特殊用途仅用于常量存储无需修改的情况外,在其他大部分场景下都会采用SDS作为处理字符串的方式。无论哪种情况而言,在涉及关键对象的key和value字段进行存储时,默认使用的都是基于String类型的变量,并将其转换为采用SDS这一数据结构进行处理以确保系统的高效运行。
每个SDS会带有一个头部结构体struct sdshdr:
struct sdshdr
{
int len; // sds中实际保存的字符串长度
int free; // 剩余未使用的字节数
char buf[]; // 字符数组,实际保存字符串的空间
};
AI写代码c
运行
S
全部评论 (0)
还没有任何评论哟~
