redisObject

时间:2023-11-28 17:57:38

typedef struct redisObject {
    unsigned type:4;
    unsigned encoding:4;
    unsigned lru:REDIS_LRU_BITS; /* lru time (relative to server.lruclock) */
    int refcount;
    void *ptr;
} robj;

unsigned type:4; 是C语言的位域

redis有5种类型的值对象:字符串,列表,哈希,集合,有序集合。
redisObject表征一种值对象,含有type,encoding,ptr等属性:
type:5种值对象之一;
encoding:值对象所使用的数据结构,
ptr:指向数据的指针

例子:
set hi 1
hi所对应的值对象:其类型是字符串,而编码是int。