代码拉取完成,页面将自动刷新
同步操作将从 Kellen/redis-3.0-annotated 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
本项目是注释版的 Redis 3.0 源码, 原始代码来自: https://github.com/antirez/redis 。
这份注释是我在创作新版《Redis 设计与实现》期间, 为了了解 Redis 的内部实现而制作的, 所有在书中有介绍的内容, 在源码中都进行了相应的注释。
在注释的过程中, 除了少量空格和空行方面的调整外, 没有对原始代码进行任何其他改动, 最大程度地保证了代码的“原汁原味”。
希望这份注释源码能给大家学习和了解 Redis 带来一点帮助。
另外, 新版《Redis 设计与实现》正在各大网店发售中, 希望大家可以多多支持这本书。
Have fun!
文件 | 作用 |
---|---|
adlist.c 、 adlist.h
|
双端链表数据结构的实现。 |
ae.c 、 ae.h 、 ae_epoll.c 、 ae_evport.c 、
ae_kqueue.c 、 ae_select.c
|
事件处理器,以及各个具体实现。 |
anet.c 、 anet.h
|
Redis 的异步网络框架,内容主要为对 socket 库的包装。 |
aof.c |
AOF 功能的实现。 |
asciilogo.h |
保存了 Redis 的 ASCII LOGO 。 |
bio.c 、 bio.h
|
Redis 的后台 I/O 程序,用于将 I/O 操作放到子线程里面执行, 减少 I/O 操作对主线程的阻塞。 |
bitops.c |
二进制位操作命令的实现文件。 |
blocked.c |
用于实现 BLPOP 命令和 WAIT 命令的阻塞效果。 |
cluster.c 、 cluster.h
|
Redis 的集群实现。 |
config.c 、 config.h
|
Redis 的配置管理实现,负责读取并分析配置文件, 然后根据这些配置修改 Redis 服务器的各个选项。 |
crc16.c 、 crc64.c 、 crc64.h
|
计算 CRC 校验和。 |
db.c |
数据库实现。 |
debug.c |
调试实现。 |
dict.c 、 dict.h
|
字典数据结构的实现。 |
endianconv.c 、 endianconv.h
|
二进制的大端、小端转换函数。 |
fmacros.h |
一些移植性方面的宏。 |
help.h |
utils/generate-command-help.rb 程序自动生成的命令帮助信息。 |
hyperloglog.c |
HyperLogLog 数据结构的实现。 |
intset.c 、 intset.h
|
整数集合数据结构的实现,用于优化 SET 类型。 |
lzf_c.c 、 lzf_d.c 、 lzf.h 、 lzfP.h
|
Redis 对字符串和 RDB 文件进行压缩时使用的 LZF 压缩算法的实现。 |
Makefile 、 Makefile.dep
|
构建文件。 |
memtest.c |
内存测试。 |
mkreleasehdr.sh |
用于生成释出信息的脚本。 |
multi.c |
Redis 的事务实现。 |
networking.c |
Redis 的客户端网络操作库, 用于实现命令请求接收、发送命令回复等工作, 文件中的函数大多为 write 、 read 、 close 等函数的包装, 以及各种协议的分析和构建函数。 |
notify.c |
Redis 的数据库通知实现。 |
object.c |
Redis 的对象系统实现。 |
pqsort.c 、 pqsort.h
|
快速排序(QuickSort)算法的实现。 |
pubsub.c |
发布与订阅功能的实现。 |
rand.c 、 rand.h
|
伪随机数生成器。 |
rdb.c 、 rdb.h
|
RDB 持久化功能的实现。 |
redisassert.h |
Redis 自建的断言系统。 |
redis-benchmark.c |
Redis 的性能测试程序。 |
redis.c |
负责服务器的启动、维护和关闭等事项。 |
redis-check-aof.c 、 redis-check-dump.c
|
RDB 文件和 AOF 文件的合法性检查程序。 |
redis-cli.c |
Redis 客户端的实现。 |
redis.h |
Redis 的主要头文件,记录了 Redis 中的大部分数据结构, 包括服务器状态和客户端状态。 |
redis-trib.rb |
Redis 集群的管理程序。 |
release.c 、 release.h
|
记录和生成 Redis 的释出版本信息。 |
replication.c |
复制功能的实现。 |
rio.c 、 rio.h
|
Redis 对文件 I/O 函数的包装, 在普通 I/O 函数的基础上增加了显式缓存、以及计算校验和等功能。 |
scripting.c |
脚本功能的实现。 |
sds.c 、 sds.h
|
SDS 数据结构的实现,SDS 为 Redis 的默认字符串表示。 |
sentinel.c |
Redis Sentinel 的实现。 |
setproctitle.c |
进程环境设置函数。 |
sha1.c 、 sha1.h
|
SHA1 校验和计算函数。 |
slowlog.c 、 slowlog.h
|
慢查询功能的实现。 |
solarisfixes.h |
针对 Solaris 系统的补丁。 |
sort.c |
SORT 命令的实现。 |
syncio.c |
同步 I/O 操作。 |
testhelp.h |
测试辅助宏。 |
t_hash.c 、 t_list.c 、 t_set.c 、 t_string.c 、
t_zset.c
|
定义了 Redis 的各种数据类型,以及这些数据类型的命令。 |
util.c 、 util.h
|
各种辅助函数。 |
valgrind.sup |
valgrind 的suppression文件。 |
version.h |
记录了 Redis 的版本号。 |
ziplist.c 、 ziplist.h
|
ZIPLIST 数据结构的实现,用于优化 LIST 类型。 |
zipmap.c 、 zipmap.h
|
ZIPMAP 数据结构的实现,在 Redis 2.6 以前用与优化 HASH 类型, Redis 2.6 开始已经废弃。 |
zmalloc.c 、 zmalloc.h
|
内存管理程序。 |
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。