一 前言
Redis源码研究为什么先介绍整体结构呢?其实也很简单,作为程序员的,要想对一个项目有快速的认知,对项目整体目录结构有一个清晰认识,有助于我们更好的了解这个系统。
二 目录结构
Redis源码download到本地之后,对应结构如下:
从上面的截图可以看出,Redis源码一共包含了deps、src、tests、utils四个子目录,每个子目录的说明如下:
2.1 deps目录
主要是Redis源码依赖的第三方代码库,包括C语言版本的客户端代码 hiredis、jemalloc 内存分配器代码、readline 功能的替代代码 linenoise,以及 lua 脚本代码,最新源码里面还有浮点转字符串的代码库fpconv和实现高范围直方图的hdr_histogram。
2.2 src目录
这个目录是Redis源码最重要的目录,也是需要重点研究的目录,因为这里面是 Redis 所有功能模块的代码文件。目录下有各功能的源码,还有一个modules目录,里面是实例代码。
2.3 tests目录
根据名称,就知道,这个目录下是Redis源码下所有的测试代码,包括功能模块测试和单元测试。具体分类和作用见下图: