1.字典相关的几个结构体 2.动态扩容方法 int dictRehash(dict *d, int n) 为了对dictht进行动态扩容,rehash方法将ht[0]中的值搬n个到ht[1]中, 分批次进行搬运,直到ht[0]中的值都搬到ht ...
1.字典相关的几个结构体 2.动态扩容方法 int dictRehash(dict *d, int n) 为了对dictht进行动态扩容,rehash方法将ht[0]中的值搬n个到ht[1]中, 分批次进行搬运,直到ht[0]中的值都搬到ht ...
Redis 中,字典是基础结构。Redis 数据库数据、过期时间、哈希类型都是把字典作为底层结构。 字典的结构 哈希表 哈希表的实现代码在:dict.h/dictht ,Redis 的字典用哈希表的方式实现。 table 是一个哈希表数组,每个节点的实现在 dict ...
这份代码是redis的client接口,其和server端的交互使用了deps目录下的hiredis c库,同时,在这部分代码中,应用了linenoise库完成类似history命令查询、自动补全等终端控制功能。 struct commandHelp { 20 char *name ...
dict的用途 dict是一种用于保存键值对的抽象数据结构,在redis中使用非常广泛,比如数据库、哈希结构的底层。 当执行下面这个命令: 以及使用哈希结构,如: 都会使用到dict作为底层数据结构的实现。 结构的定义 先看看字典以及相关数据结构体的定义: 字典 ...
ae.c是redis事件框架的具体实现,这篇blog对这份源码进行简单说明。其中谈到了作者已经标记的一些未来可能做的改进。 ae.c ...
aof是redis提供的一种数据持久化机制,通过将每一条命令dump下来,保持数据和内存中的数据一致。 ...
redis的内存分配主要就是对malloc和free进行了一层简单的封装。具体的实现在zmalloc.h和zmalloc.c中。本文将对redis的内存管理相关几个比较重要的函数做逐一的介绍 参考: http://blog.csdn.net/guodongxiaren/article ...
sds和adlist一样,是redis的基础数据结构之一,是其为自身实现的字符串类型。A C dynamic strings library sds.h sds.c ...