高效使用Redis:一书学透数据存储与高可用集群
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2 Redis源码结构

Redis源码主要放在src文件夹中。Redis的作者并没有对这些文件进行整理,而是统一放到了一个文件夹下。其中,server.c为服务端程序,redis-cli.c为客户端程序。

Redis源码的核心可以简单分为如下几个部分。

(1)基本的数据结构

❑动态字符串:sds.c。

❑整数集合:intset.c。

❑压缩列表:ziplist.c。

❑快速链表:quicklist.c。

❑字典:dict.c。

❑stream底层实现结构: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等。