redis源码阅读[1]

主要介绍redis源码的目录结构。


常用数据结构

adlist.h/adlist.c:list定义,双向链表

dict.h/dict.c:字典数据结构 (内存hash表)

intset.h/intset.c:整数范围内的集合set数据结构

sds.h/sds.c:redis字符串

zipmap.h/zipmap.c:zipmap数据结构

ziplist.h/ziplist.c:ziplist数据结构

t_hash.c/t_list.c/t_set.c/t_string.c/t_zset.c:hash、list、set、string、zset在server/client中的应答操作



网络相关

ae.h/ae.c:用于redis的事件处理,包含句柄事件和超时事件

ae_epoll.c:实现基于epoll系统调用的接口

ae_evport.c:

ae_kqueue.c:实现基于kqueue系统调用的接口

ae_select.c:实现基于select系统调用的接口

anet.h/anet.c:封装server/client通信接口,包括anetTcpServer、antTcpConnect、anetTcpAccept、anetRead、anetWrite等方法

networking.c:网络相关。例如client连接server、slave连接master等


客户端服务端相关

redis-cli.c:redis客户端的实现
redis.h/redis.c:redis服务端的实现
replication.c:主从数据库的复制操作


常用工具

debug.c:调试用

fmacros.h:用于mac下的兼容性处理

help.h:命令的提示信息

redis-benchmark.c:redis性能测试

redis-check-aof.c:

redis-check-dump.c:

release.h/release.c:发布信息

sha1.h/sha1.c:有关sha算法的实现

solarifixes.h:solaris系统的兼容性实现

syncio.c:同步socket和文件I/O操作

testhelp.h:小型测试框架

util.h/util.c:通用工具

version.h:redis版本号

zmalloc.h/zmalloc.c:redis关于内存分配的封装实现

pqsort.h/pqsort.c/sort.c:排序算法



数据库相关

aof.c:aof,全称append only file,纪录每次的写操作,服务挂掉后可以用此文件来恢复数据库状态。

config.h/config.c:读取redis.conf配置文件,供server对象使用。在server的main函数中调用config.c中实现的loadServerConfig(char *filename)方法

db.c:redis内存数据库的相关操作接口

lzf.h/lzf_c.c/lzf_d.c/lzfP.h:本地数据库的保存,使用LZF压缩算法

multi.c:事务处理相关操作

object.c:redisObject结构

pubsub.c:订阅模式的实现

rdb.c:redis本地数据库的相关操作,包括保存、移除、查询等






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值