Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

带有详细注释的 Redis 3.0 代码(annotated Redis 3.0 source code)。

License

NotificationsYou must be signed in to change notification settings

huangzworks/redis-3.0-annotated

Repository files navigation

本项目是注释版的 Redis 3.0 源码,原始代码来自:https://github.com/antirez/redis

这份注释是我在创作新版《Redis 设计与实现》期间,为了了解 Redis 的内部实现而制作的,所有在书中有介绍的内容,在源码中都进行了相应的注释。

在注释的过程中,除了少量空格和空行方面的调整外,没有对原始代码进行任何其他改动,最大程度地保证了代码的“原汁原味”。

希望这份注释源码能给大家学习和了解 Redis 带来一点帮助。

另外,新版《Redis 设计与实现》正在各大网店发售中,希望大家可以多多支持这本书。

Have fun!

黄健宏(huangz)
2014 年 6 月 28 日

附录:各个源码文件的作用简介

文件作用
adlist.cadlist.h双端链表数据结构的实现。
ae.cae.hae_epoll.cae_evport.cae_kqueue.cae_select.c事件处理器,以及各个具体实现。
anet.canet.hRedis 的异步网络框架,内容主要为对 socket 库的包装。
aof.cAOF 功能的实现。
asciilogo.h保存了 Redis 的 ASCII LOGO 。
bio.cbio.hRedis 的后台 I/O 程序,用于将 I/O 操作放到子线程里面执行,减少 I/O 操作对主线程的阻塞。
bitops.c二进制位操作命令的实现文件。
blocked.c用于实现 BLPOP 命令和 WAIT 命令的阻塞效果。
cluster.ccluster.hRedis 的集群实现。
config.cconfig.hRedis 的配置管理实现,负责读取并分析配置文件,然后根据这些配置修改 Redis 服务器的各个选项。
crc16.ccrc64.ccrc64.h计算 CRC 校验和。
db.c数据库实现。
debug.c调试实现。
dict.cdict.h字典数据结构的实现。
endianconv.cendianconv.h二进制的大端、小端转换函数。
fmacros.h一些移植性方面的宏。
help.hutils/generate-command-help.rb 程序自动生成的命令帮助信息。
hyperloglog.cHyperLogLog 数据结构的实现。
intset.cintset.h整数集合数据结构的实现,用于优化 SET 类型。
lzf_c.clzf_d.clzf.hlzfP.hRedis 对字符串和 RDB 文件进行压缩时使用的 LZF 压缩算法的实现。
MakefileMakefile.dep构建文件。
memtest.c内存测试。
mkreleasehdr.sh用于生成释出信息的脚本。
multi.cRedis 的事务实现。
networking.cRedis 的客户端网络操作库,用于实现命令请求接收、发送命令回复等工作,文件中的函数大多为 write 、 read 、 close 等函数的包装,以及各种协议的分析和构建函数。
notify.cRedis 的数据库通知实现。
object.cRedis 的对象系统实现。
pqsort.cpqsort.h快速排序(QuickSort)算法的实现。
pubsub.c发布与订阅功能的实现。
rand.crand.h伪随机数生成器。
rdb.crdb.hRDB 持久化功能的实现。
redisassert.hRedis 自建的断言系统。
redis-benchmark.cRedis 的性能测试程序。
redis.c负责服务器的启动、维护和关闭等事项。
redis-check-aof.credis-check-dump.cRDB 文件和 AOF 文件的合法性检查程序。
redis-cli.cRedis 客户端的实现。
redis.hRedis 的主要头文件,记录了 Redis 中的大部分数据结构,包括服务器状态和客户端状态。
redis-trib.rbRedis 集群的管理程序。
release.crelease.h记录和生成 Redis 的释出版本信息。
replication.c复制功能的实现。
rio.crio.hRedis 对文件 I/O 函数的包装,在普通 I/O 函数的基础上增加了显式缓存、以及计算校验和等功能。
scripting.c脚本功能的实现。
sds.csds.hSDS 数据结构的实现,SDS 为 Redis 的默认字符串表示。
sentinel.cRedis Sentinel 的实现。
setproctitle.c进程环境设置函数。
sha1.csha1.hSHA1 校验和计算函数。
slowlog.cslowlog.h慢查询功能的实现。
solarisfixes.h针对 Solaris 系统的补丁。
sort.cSORT 命令的实现。
syncio.c同步 I/O 操作。
testhelp.h测试辅助宏。
t_hash.ct_list.ct_set.ct_string.ct_zset.c定义了 Redis 的各种数据类型,以及这些数据类型的命令。
util.cutil.h各种辅助函数。
valgrind.supvalgrind 的suppression文件。
version.h记录了 Redis 的版本号。
ziplist.cziplist.hZIPLIST 数据结构的实现,用于优化 LIST 类型。
zipmap.czipmap.hZIPMAP 数据结构的实现,在 Redis 2.6 以前用与优化 HASH 类型,Redis 2.6 开始已经废弃。
zmalloc.czmalloc.h内存管理程序。

About

带有详细注释的 Redis 3.0 代码(annotated Redis 3.0 source code)。

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors103

Languages


[8]ページ先頭

©2009-2025 Movatter.jp