Advertisement

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)

还没有任何评论哟~