Redis数据结构(五):RedisObject
Redis中的任意数据类型的键和值都会被封装成一个RedisObject,也叫做Redis对象
RedisObject结构体
typedef struct redisObject{
// 对象类型 对应string,hash,list,set,zset
unsigned type:4;
// 编码 11种不同编码
unsigned encoding:4;
// 记录最近一次访问,内存回收使用
unsigned lru:LRU_BITS;
// 引用计数器
int refcount;
// 指向五种数据类型实例
void *ptr;
} obj;
RedisObject编码格式
- raw编码动态字符串
- long类型的整数字符串
- hash dict
- 双端链表
- 压缩列表
- 整数集合
- 跳表
- embstr的动态字符串
- 快速列表
- Stream流