字典是redis中的一种数据结构实现,用来保存键值对。
字典中的每个键都是独一无二的,程序可以根据键来找到与之关联的值。
redis的数据库的底层实现是字典,对于数据库的增删改查操作也都是通过对字典进行操作来实现的。
字典还是hash键的底层实现之一,如果一个hash键包含的键值对比较多或字符串长度比较长的时候,redis就会使用字典作为hash键的底层实现。
---------------------------------------------------
redis的字典底层实现为hash表、
hash表由dict.h/dictht结构定义:
typedef struts dictht{
//哈希表数组
dictEntry **table;
//哈希表数组
unsigned long size;
//哈希表大小掩码,用于计算索引值
//总是等于size-1
unsigned long sizemask;
//该hash表已有节点的数量
unsigned long used;
}dictth;
table属性是一个数组,每个元素指向一个 hash表节点的指针。
hash表节点的由dict.h/dictEntry结构定义