上QQ阅读APP看书,第一时间看更新
1.3 Redis源码概述
Redis源代码主要存放在src文件夹中,作者没有整理这些文件,统一存放到了一个文件夹中,如图1-1所示。其中server.c为服务端程序,redis-cli.c为客户端程序。
图1-1 Redis 5.0 源码
Redis源代码的核心部分主要如下。
(1)基本的数据结构
❏ 动态字符串sds.c
❏ 整数集合intset.c
❏ 压缩列表ziplist.c
❏ 快速链表quicklist.c
❏ 字典dict.c
❏ Streams的底层实现结构listpack.c和rax.c
(2)Redis数据类型的底层实现
❏ Redis对象object.c
❏ 字符串t_string.c
❏ 列表t_list.c
❏ 字典t_hash.c
❏ 集合及有序集合t_set.c和t_zset.c
❏ 数据流t_stream.c
(3)Redis数据库的实现
❏ 数据库的底层实现db.c
❏ 持久化rdb.c和aof.c
(4)Redis服务端和客户端实现
❏ 事件驱动ae.c和ae_epoll.c
❏ 网络连接anet.c和networking.c
❏ 服务端程序server.c
❏ 客户端程序redis-cli.c
(5)其他
❏ 主从复制replication.c
❏ 哨兵sentinel.c
❏ 集群cluster.c
❏ 其他数据结构,如hyperloglog.c、geo.c等
❏ 其他功能,如pub/sub、Lua脚本
以上为Redis核心代码的简单划分,本书重点介绍Redis客户端使用命令的底层实现,在阅读后续章节时,建议按照本书编排顺序进行阅读。首先学习Redis底层的数据存储结构;然后学习Redis每个命令的具体实现;最后可以根据需要学习Redis其他方面的内容,如主从复制、哨兵、集群、持久化等。