redis 源码源文件文件说明

redis 源码源文件说明

分类 源文件 说明 备注
数据结构/编码 adlist.c, adlist.h 双端链表数据结构的实现。
数据结构/编码 quicklist.c, quicklist.h 快表实现
数据结构/编码 listpack.c, listpack.h, listpack_malloc.h 5.0 新增liskpack实现
数据结构/编码 rax.c, rax.h, rax_malloc.h 基数树实现
数据结构/编码 dict.c, dict.h 字典数据结构的实现。
数据结构/编码 intset.c, intset.h intset 数据结构实现
数据结构/编码 sds.c, sds.h, sdsalloc.h sds 字符串实现
数据结构/编码 ziplist.c, ziplist.h 压缩表实现
数据结构/编码 zipmap.c, zipmap.h ZIPMAP 数据结构的实现,在 Redis 2.6 以前用与优化 HASH 类型, Redis 2.6 开始已经废弃。
数据结构/编码 stream.h 5.0 新增stream数据结构实现
数据类型/功能 t_string.c string 数据类型实现
数据类型/功能 t_hash.c hash 数据类型实现
数据类型/功能 t_list.c list 数据类型实现
数据类型/功能 t_set.c set 数据类型实现
数据类型/功能 t_stream.c stream 数据类型实现
数据类型/功能 t_zset.c 数据类型实现
数据类型/功能 geo.c, geo.h, geohash.c, geohash.h, geohash_helper.c, geohash_helper.h 地理信息相关操作实现
数据类型/功能 hyperloglog.c hyperloglog 相关操作实现
数据类型/功能 pubsub.c 消息队列实现
数据类型/功能 bitops.c 位操作相关实现
数据类型/功能 scripting.c lua脚本功能实现
数据类型/功能 sort.c SORT命令的实现
数据类型/功能 multi.c Redis 的事务实现。
数据类型/功能 blocked.c 用于实现 BLPOP 命令和 WAIT 命令的阻塞效果。
数据类型/功能 lolwut5.c 5.0 新增的酷炫命令
数据类型/功能 lolwut.c 5.0 新增的酷炫命令
事件处理器/IO ae.c, ae.h, ae_epoll.c, ae_evport.c, ae_kqueue.c, ae_select.c 事件处理器,以及各个具体实现
事件处理器/IO rio.c, rio.h Redis 对文件 I/O 函数的包装, 在普通 I/O 函数的基础上增加了显式缓存、以及计算校验和等功能。
事件处理器/IO bio.c, bio.h Redis 的后台 I/O 程序,用于将 I/O 操作放到子线程里面执行, 减少 I/O 操作对主线程的阻塞。
事件处理器/IO syncio.c 同步IO实现
事件处理器/IO anet.c, anet.h Redis 的异步网络框架,内容主要为对 socket 库的包装。
事件处理器/IO networking.c Redis 的客户端网络操作库, 用于实现命令请求接收、发送命令回复等工作, 文件中的函数大多为 write 、 read 、 close 等函数的包装, 以及各种协议的分析和构建函数。
数据库实现 object.c Redis 的对象系统实现。
数据库实现 db.c 数据库实现。
数据库实现 notify.c Redis 的数据库通知实现。
数据库实现 evict.c LRU 数据淘汰机制
数据类型/功能 expire.c 过期机制实现
服务端&客户端 server.c, server.h 服务端实现
服务端&客户端 config.c, config.h Redis 的配置管理实现,负责读取并分析配置文件, 然后根据这些配置修改 Redis 服务器的各个选项。
服务端&客户端 redis-cli.c 客户端实现
持久化 aof.c aof 实现
持久化 redis-check-aof.c AOF 文件的合法性检查程序。
持久化 rdb.c, rdb.h RDB 功能实现
持久化 redis-check-rdb.c RDB 文件的合法性检查程序。
持久化 childinfo.c 进程处理,rdb或aof子进程工作分离
多机支持 replication.c 主从复制实现
多机支持 sentinel.c 哨兵功能实现
多机支持 cluster.c, cluster.h 集群功能实现
多机支持 redis-trib.rb 集群管理功能实现
监控相关 slowlog.c, slowlog.h 慢日志
监控相关 latency.c, latency.h 延迟监控
监控相关 sparkline.c, sparkline.h 微线图功能实现
工具功能 util.c, util.h 工具类函数集合
工具功能 siphash.c Redis 4.0 & 5.0, 采用的是 SipHash 哈希算法
工具功能 pqsort.c, pqsort.h 快速排序(QuickSort)算法的实现
工具功能 lzf_c.c, lzf_d.c, lzf.h, lzfP.h Redis 对字符串和 RDB 文件进行压缩时使用的 LZF 压缩算法的实现。
工具功能 module.c, redismodule.h 支持用户自定义module
工具功能 modules module demo
工具功能 endianconv.c, endianconv.h 二进制的大端、小端转换函数。
工具功能 sha1.c, sha1.h SHA1 校验和计算函数。
工具功能 crc16.c, crc64.c, crc64.h 计算 CRC 校验和。
工具功能 rand.c, rand.h 随机数实现
工具功能 localtime.c 时间功能实现
工具功能 setproctitle.c 进程环境设置函数
工具功能 atomicvar.h 原子计数实现
内存管理 zmalloc.c, zmalloc.h
内存管理 defrag.c 内存碎片整理
内存管理 lazyfree.c redis 4.0 引入了lazyfree的机制,它可以将删除键或数据库的操作放在后台线程里执行, 从而尽可能地避免服务器阻塞。
调试/测试/其他 valgrind.sup valgrind 的suppression文件。
调试/测试/其他 asciilogo.h ascii logo
调试/测试/其他 version.h 版本
调试/测试/其他 release.c 记录和生成 Redis 的释出版本信息。
调试/测试/其他 testhelp.h 测试辅助宏。
调试/测试/其他 debug.c 调试实现。
调试/测试/其他 debugmacro.h 调试宏定义实现
调试/测试/其他 redis-benchmark.c redis benchmark 测试工具
调试/测试/其他 memtest.c 内存测试。
调试/测试/其他 redisassert.h Redis 自建的断言系统。
调试/测试/其他 help.h utils/generate-command-help.rb 程序自动生成的命令帮助信息。
调试/测试/其他 mkreleasehdr.sh 用于生成释出信息的脚本。
调试/测试/其他 solarisfixes.h 针对 Solaris 系统的补丁。
调试/测试/其他 fmacros.h 一些移植性方面的宏。