1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| 字符串对象 编码:int raw embstr 实现:数字/sds 列表对象 ziplist/linkedlist 1,key/val<64字节 2,size<512 1+2=ziplist,其他linkedlist 哈希对象 ziplist/hashtable 1,key/val<64字节 2,size<512 1+2=ziplist,hashtable 集合对象 intset/hashtable 1,key都是整数 2,size<512 1+2=ziplist,hashtable 有序集合对象 ziplist/skiplist 1,size<128 2,所有成员长度<64 1+2=ziplist,skiplist
内存回收 struct redisObject{ int refcount } 创建,引用+1 被新程序使用+1 不再使用-1 引用=0,对象释放
对象共享 共享计数+1
对象空转时长 struct redisObject{ int lru:22 对象最后被使用的时间 }
|