本文所引用的源码全部来自Redis2.8.2版本。Redis中字典dict数据结构与API相关文件是:dict.h,dict.c。本文讲解的不是很详细,可以同时参考Redis实现与设计一书中字典部分,本文关于字典的核心代码的注释可以参考。字典,简单说就是存储key-value键值数据,当然value=NULL那么就是集合了。字典通俗来说就是C++STL中的map,STL中的map是用red-blacktree实现的,因为map不仅能够保证key不重复,而且key还是按照字典序存储的,而Redis中的字典并不要求有序,因此为了降低编码的难度使用哈希表作为字典的底层实现。Redis的字典是使用一个
1