上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等。