ae.c是redis事件框架的具体实现,这篇blog对这份源码进行简单说明。其中谈到了作者已经标记的一些未来可能做的改进。 ae.c ...
这份代码是redis的client接口,其和server端的交互使用了deps目录下的hiredis c库,同时,在这部分代码中,应用了linenoise库完成类似history命令查询 自动补全等终端控制功能。 struct commandHelp char name 命令名字 char params 参数格式 char summary 简单的解释信息 int group 命令类型 当前版本共分 ...
2012-05-20 12:40 3 5897 推荐指数:
ae.c是redis事件框架的具体实现,这篇blog对这份源码进行简单说明。其中谈到了作者已经标记的一些未来可能做的改进。 ae.c ...
这篇blog介绍dict的实现。 dict.c ...
sds和adlist一样,是redis的基础数据结构之一,是其为自身实现的字符串类型。A C dynamic strings library sds.h sds.c ...
initServer是redis对server进行初始化的入口,其由main调用,位于initServerConfig、命令行参数解析、守护进程判定之后,是server最重要的入口点。 尽管代码看似简单(102行代码,且大量的赋值语句),但顺藤摸瓜,有很多点值得仔细看看。接下来逐行分析 ...
serverCron是redis每隔100ms执行的一个循环事件,由ae事件框架驱动。其主要执行如下任务: 1.记录循环时间: redis使用全局状态cache了当前的时间值。在vm实现以及lru实现中,均需要对每一个对象的访问记录其时间,在这种情况下,对精度的要求并不 ...
redis配置文件的头文件,有一些和平台有关的配置,在这里边进行设置。 config.h config.c 读取配置文件,以及和配置文件有关的client命令的执行函数,可谓又臭又长,看看就好。 ...
aof是redis提供的一种数据持久化机制,通过将每一条命令dump下来,保持数据和内存中的数据一致。 ...
redis允许对key设置超时时间,实现过期key的自动淘汰。这篇blog分析下,其自适应(adaptive)的淘汰机制。 redis每隔100ms定时执行的循环(serverCron function)里有如下语句: 正如文中注释所示,只有master执行expire ...