Skip to content

nullcc/redis_code_annotation

Repository files navigation

Redis代码注释

Reids版本:3.2.11

本注释版本不会删除原始代码中的任何东西,只会增加注释。本注释版本的阅读顺序参考了如何阅读Redis源码

本注释项目只是个人爱好,受技术水平和时间限制,出差错在所难免,有感兴趣的同学欢迎指出问题、交流和提交issue。

进度

1.Redis数据结构实现

文件名 描述 完成情况
adlist.h 和 adlist.c 双端链表 100%
sds.h 和 sds.c 简单动态字符串 100%
dict.h 和 dict.c 字典 95%
intset.h 和 intset.c 整数集合 100%
ziplist.h 和 ziplist.c 压缩链表 100%
zipmap.h 和 zipmap.c 压缩字典 100%
server.h(2.8版本之前是redis.h)中的zskiplist结构和zskiplistNode结构,以及t_zset.c中所有以zsl开头的函数 跳跃表 100%

2.Redis数据类型实现

文件名 描述 完成情况
object.c Redis对象(类型)系统实现 100%
t_string.c 字符串键的实现 100%
t_list.c 列表键的实现 100%
t_hash.c 散列键的实现
t_set.c 集合键的实现
t_zset.c 有序集合键的实现

Redis事件驱动

文件名 描述 完成情况
ae.h 和 ae.c 异步I/O事件 100%
ae_select.c Select 100%
ae_epoll.c Linux epoll
ae_evport.c 事件端口
ae_kqueue.c Kqueue

Redis网络通信封装

文件名 描述 完成情况
anet.h 和 anet.c Redis网络通信封装

Redis工具函数

文件名 描述 完成情况
util.h 和 util.c 一些工具函数

Redis服务器相关

文件名 描述 完成情况
server.h 和 server.c Redis服务器实现 10%
db.c C语言级别的DB API

About

redis源码注释

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published