struct:(结构体)
1.adlist.c 用于对list的定义,它是个双向链表结构
2.dict.c 主要对于内存中的hash进行管理
3.sds.c 用于对字符串的定义
4.t_hash.c hash在Server/Client中的应答操作。主要通过redisObject进行类型转换
5.t_list.c list在Server/Client中的应答操作。主要通过redisObject进行类型转换
6.t_set.c set在Server/Client中的应答操作。主要通过redisObject进行类型转换
7.t_string.c string在Server/Client中的应答操作。主要通过redisObject进行类型转换
8.t_zset.c zset在Server/Client中的应答操作。主要通过redisObject进行类型转换
9.ziplist.c ziplist是一个类似于list的存储对象。它的原理类似于zipmap
10.zipmap.c zipmap是一个类似于hash的存储对象
data:(数据操作)
1.aof.c 全称为append only file,作用就是记录每次的写操作,在遇到断电等问题时可以用它来恢复数据库状态
2.config.c 用于将配置文件redis.conf文件中的配置读取出来的属性通过程序放到server对象中
3.db.c对于Redis内存数据库的相关操作
4.multi.c用于事务处理操作
5.rdb.c 对于Redis本地数据库的相关操作,默认文件是dump.rdb(通过配置文件获得),包括的操作包括保存,移除,查询等等
6.replication.c 用于主从数据库的复制操作的实现
event:(事件)
1.ae.c 用于Redis的事件处理,包括句柄事件和超时事件
2.ae_epoll.c 实现了epoll系统调用的接口
3.ae_evport.c 实现了evport系统调用的接口
4.ae_kqueue.c 实现了kqueuex系统调用的接口
5.ae_select.c 实现了select系统调用的接口
main:(主程序)
1.redis.c redis服务端程序
2.redis_cli.c redis客户端程序
net:(网络)
1.anet.c 作为Server/Client通信的基础封装
2.networking.c 网络协议传输方法定义相关的都放在这个文件里面了