字段结构详情
2020-01-17 09:51:44 0 举报
redis结构详情
作者其他创作
大纲/内容
哈希对象
集合对象
有序集合对象
OBJ_ENCODING_QUICKLIST:9
整数集合intset
void (*valDestructor)
dicththt[2]
OBJ_ZSET : 3
销毁值的函数
键
...省略
unsigned long size
OBJ_ENCODING_RAW:0
unsigned long used
对比键的函数
压缩表
dictType*type
hash表1
long类型的整数
doubled
longrehashidx
没有字典都有两个hash表从而实现rehash
类型常量
OBJ_SET : 2
client 结构
dictEntry**table
编码为quicklist的双向链表
链表指针
dictEntry链表省略...
OBJ_ENCODING_INTSET:6
dict*expires
unsigned longiterators
使用embstr编码的动态字符串对象
intrefcount
销毁键的函数
uint64_t id
计算哈希值的函数
复制键的函数
unsignedlru
OBJ_STRING : 0
数据库
uint64_tu64
dictEntry*next
void*val
dict结构(字典)
unsigned long sizemask
void*key
hash表,其实对应字典
dictType结构(用于操作字典类型函数)
双端链表,redis 4.0.0没有使用,这个是老的list
...
dictEntry结构(数据节点)
void*privdata
复制值的函数
dictht结构(哈希表)
redisObject结构(对象)
Redis 4.0.0 数据结构
2
0
dict*watched_keys
OBJ_ENCODING_ZIPMAP:3
OBJ_ENCODING_HT:2
dictEntry数组
ht[0]
值
OBJ_ENCODING_INT:1
intfd
使用跳跃表和字典
unsignedtype
unionv
hash表2
OBJ_ENCODING_LINKEDLIST:4
unsignedencoding
void *(*valDup)
dict*blocking_keys
dict*dict
intid
列表对象
字符串对象
对象类型
int64_trehashidx
int (*keyCompare)
void (*keyDestructor)
redisDb结构
robj*name
1
OBJ_ENCODING_ZIPLIST:5
压缩字典
OBJ_ENCODING_SKIPLIST:7
OBJ_LIST : 1
原始表示
指向下一个dictEntry
ht[1]
long long avg_ttl
void*ptr
void *(*keyDup)
OBJ_HASH : 4
编码常量
OBJ_ENCODING_EMBSTR:8
对象编码
uint64_t (*hashFunction)
redisDb*db
0 条评论
下一页