huangz1990 /redis-3.0-annotated

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

★ 10,124⑂ 4,167👁 568⑃ 18● 28▤ 0
CCreated 2014-06-28
10,124
stars
+0+0+-7
4,167
forks
568
watchers
18
prs
28
issues
0
releases
–
discussions

README

Redis 3.0 源码注释
============================

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

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

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

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

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

Have fun!

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


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

+-------------------------------------------------------------------+-------------------------------------------------------------------+
| 文件                                                              | 作用                                                              |
+===================================================================+===================================================================+
| 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 命令的阻塞效果。                       |
+-----

Snapshot: 2026-11-04T14:00:00Z · Data license Apache-2.0 · JSON