分析:
首先,redisDb代表的是Redis的数据结构,我们主要关注dict这个数据结构
还有一个expires存储的是我们的过期值,这个也要记住
以下是dict:
typedef struct dict {
dictType *type; // 类型相关的操作
void *privdata; // 额外的私有数据
dictEntry **ht[2]; // 哈希表的两个版本(用于处理扩容)
unsigned long size[2]; // 当前哈希表的大小
unsigned long used[2]; // 已使用的槽数
long rehashidx; // 当前正在进行的扩容位置(如果有扩容)
unsigned long iterators; // 当前正在进行的迭代器数量
} dict;
在 Redis 中有 hash
和 set
类型的字典,每种类型的字典操作(如计算哈希值)可能不同。
以下是expire的一个数据结构: