Redis中数据类型与数据结构的对应关系
RedisObject
Redis中的所有数据类型都会被封装成一个RedisObject对象,在Redis6中的server.h中定义如下:
typedef struct redisObject {
unsigned type:4; //数据类型,4个bits
unsigned encoding:4; //编码类型,4个bits
unsigned lru:LRU_BITS; //LRU时间,LRU_BITS为24个bits
int refcount; //引用计数,4个字节
void *ptr; //指向实际存放数据的空间,8个字节
} robj;
type 数据类型:就是我们平时使用的数据类型,String、Hash、List、Set、ZSet
encoding 编码方式:
编号 | 编码方式 | 说明 |
---|---|---|
0 | OBJ_ENCODING_RAW | raw |