redis 数据结构-对象机制

ddatsh

db #redis redis

外/内部类型(数据结构)

前后分离,如果有更好的内部数据类型,可以替换后面的数据类型,而不影响前面的Api

查看

string

对应数据内部存储结构分为三种

int8个字节的长整形
embstr<=44个字节的字符串
raw>44个字节的字符串

string 类型根据当前字符串的长度来决定到底使用哪种内部数据结构

redisObject

struct redisObject {
    unsigned type:4; 		// 对象
    unsigned encoding:4; 	// 对象编码方式(底层实现)
    unsigned lru:LRU_BITS; 	// LRU 时间(相对于 server.lruclock)                        
    int refcount;
    void *ptr;
};