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脚本