[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-6270":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":14,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":15,"stars7d":15,"stars30d":16,"stars90d":15,"forks30d":15,"starsTrendScore":15,"compositeScore":17,"rankGlobal":9,"rankLanguage":9,"license":18,"archived":19,"fork":19,"defaultBranch":20,"hasWiki":21,"hasPages":19,"topics":22,"createdAt":9,"pushedAt":9,"updatedAt":23,"readmeContent":24,"aiSummary":25,"trendingCount":15,"starSnapshotCount":15,"syncStatus":16,"lastSyncTime":26,"discoverSource":27},6270,"redis-3.0-annotated","huangzworks\u002Fredis-3.0-annotated","huangzworks","带有详细注释的 Redis 3.0 代码（annotated Redis 3.0 source code）。",null,"C",10173,4197,572,18,0,2,70.2,"BSD 3-Clause \"New\" or \"Revised\" License",false,"unstable",true,[],"2026-06-12 04:00:27","Redis 3.0 源码注释\n============================\n\n本项目是注释版的 Redis 3.0 源码，\n原始代码来自： https:\u002F\u002Fgithub.com\u002Fantirez\u002Fredis 。\n\n这份注释是我在创作新版《Redis 设计与实现》期间，\n为了了解 Redis 的内部实现而制作的，\n所有在书中有介绍的内容，\n在源码中都进行了相应的注释。\n\n在注释的过程中，\n除了少量空格和空行方面的调整外，\n没有对原始代码进行任何其他改动，\n最大程度地保证了代码的“原汁原味”。\n\n希望这份注释源码能给大家学习和了解 Redis 带来一点帮助。\n\n另外，\n`新版《Redis 设计与实现》 \u003Chttp:\u002F\u002FRedisBook.com>`_\\ 正在各大网店发售中，\n希望大家可以多多支持这本书。\n\nHave fun!\n\n| 黄健宏（huangz）\n| 2014 年 6 月 28 日\n\n\n附录：各个源码文件的作用简介\n------------------------------\n\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| 文件                                                              | 作用                                                              |\n+===================================================================+===================================================================+\n| ``adlist.c`` 、 ``adlist.h``                                      | 双端链表数据结构的实现。                                          |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``ae.c`` 、 ``ae.h`` 、 ``ae_epoll.c`` 、 ``ae_evport.c`` 、      | 事件处理器，以及各个具体实现。                                    |\n| ``ae_kqueue.c`` 、 ``ae_select.c``                                |                                                                   |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``anet.c`` 、 ``anet.h``                                          | Redis 的异步网络框架，内容主要为对 socket 库的包装。              |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``aof.c``                                                         | AOF 功能的实现。                                                  |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``asciilogo.h``                                                   | 保存了 Redis 的 ASCII LOGO 。                                     |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``bio.c`` 、 ``bio.h``                                            | Redis 的后台 I\u002FO 程序，用于将 I\u002FO 操作放到子线程里面执行，        |\n|                                                                   | 减少 I\u002FO 操作对主线程的阻塞。                                     |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``bitops.c``                                                      | 二进制位操作命令的实现文件。                                      |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``blocked.c``                                                     | 用于实现 BLPOP 命令和 WAIT 命令的阻塞效果。                       |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``cluster.c`` 、 ``cluster.h``                                    | Redis 的集群实现。                                                |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``config.c`` 、 ``config.h``                                      | Redis 的配置管理实现，负责读取并分析配置文件，                    |\n|                                                                   | 然后根据这些配置修改 Redis 服务器的各个选项。                     |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``crc16.c`` 、 ``crc64.c`` 、 ``crc64.h``                         | 计算 CRC 校验和。                                                 |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``db.c``                                                          | 数据库实现。                                                      |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``debug.c``                                                       | 调试实现。                                                        |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``dict.c`` 、 ``dict.h``                                          | 字典数据结构的实现。                                              |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``endianconv.c`` 、 ``endianconv.h``                              | 二进制的大端、小端转换函数。                                      |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``fmacros.h``                                                     | 一些移植性方面的宏。                                              |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``help.h``                                                        | ``utils\u002Fgenerate-command-help.rb`` 程序自动生成的命令帮助信息。   |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``hyperloglog.c``                                                 | HyperLogLog 数据结构的实现。                                      |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``intset.c`` 、 ``intset.h``                                      | 整数集合数据结构的实现，用于优化 SET 类型。                       |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``lzf_c.c`` 、 ``lzf_d.c`` 、 ``lzf.h`` 、 ``lzfP.h``             | Redis 对字符串和 RDB 文件进行压缩时使用的 LZF 压缩算法的实现。    |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``Makefile`` 、 ``Makefile.dep``                                  | 构建文件。                                                        |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``memtest.c``                                                     | 内存测试。                                                        |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``mkreleasehdr.sh``                                               | 用于生成释出信息的脚本。                                          |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``multi.c``                                                       | Redis 的事务实现。                                                |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``networking.c``                                                  | Redis 的客户端网络操作库，                                        |\n|                                                                   | 用于实现命令请求接收、发送命令回复等工作，                        |\n|                                                                   | 文件中的函数大多为 write 、 read 、 close 等函数的包装，          |\n|                                                                   | 以及各种协议的分析和构建函数。                                    |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``notify.c``                                                      | Redis 的数据库通知实现。                                          |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``object.c``                                                      | Redis 的对象系统实现。                                            |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``pqsort.c`` 、 ``pqsort.h``                                      | 快速排序（QuickSort）算法的实现。                                 |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``pubsub.c``                                                      | 发布与订阅功能的实现。                                            |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``rand.c`` 、 ``rand.h``                                          | 伪随机数生成器。                                                  |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``rdb.c`` 、 ``rdb.h``                                            | RDB 持久化功能的实现。                                            |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``redisassert.h``                                                 | Redis 自建的断言系统。                                            |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``redis-benchmark.c``                                             | Redis 的性能测试程序。                                            |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``redis.c``                                                       | 负责服务器的启动、维护和关闭等事项。                              |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``redis-check-aof.c`` 、 ``redis-check-dump.c``                   | RDB 文件和 AOF 文件的合法性检查程序。                             |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``redis-cli.c``                                                   | Redis 客户端的实现。                                              |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``redis.h``                                                       | Redis 的主要头文件，记录了 Redis 中的大部分数据结构，             |\n|                                                                   | 包括服务器状态和客户端状态。                                      |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``redis-trib.rb``                                                 | Redis 集群的管理程序。                                            |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``release.c`` 、 ``release.h``                                    | 记录和生成 Redis 的释出版本信息。                                 |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``replication.c``                                                 | 复制功能的实现。                                                  |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``rio.c`` 、 ``rio.h``                                            | Redis 对文件 I\u002FO 函数的包装，                                     |\n|                                                                   | 在普通 I\u002FO 函数的基础上增加了显式缓存、以及计算校验和等功能。     |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``scripting.c``                                                   | 脚本功能的实现。                                                  |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``sds.c`` 、 ``sds.h``                                            | SDS 数据结构的实现，SDS 为 Redis 的默认字符串表示。               |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``sentinel.c``                                                    | Redis Sentinel 的实现。                                           |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``setproctitle.c``                                                | 进程环境设置函数。                                                |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``sha1.c`` 、 ``sha1.h``                                          | SHA1 校验和计算函数。                                             |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``slowlog.c`` 、 ``slowlog.h``                                    | 慢查询功能的实现。                                                |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``solarisfixes.h``                                                | 针对 Solaris 系统的补丁。                                         |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``sort.c``                                                        | SORT 命令的实现。                                                 |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``syncio.c``                                                      | 同步 I\u002FO 操作。                                                   |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``testhelp.h``                                                    | 测试辅助宏。                                                      |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``t_hash.c`` 、 ``t_list.c`` 、 ``t_set.c`` 、 ``t_string.c`` 、  | 定义了 Redis 的各种数据类型，以及这些数据类型的命令。             |\n| ``t_zset.c``                                                      |                                                                   |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``util.c`` 、 ``util.h``                                          | 各种辅助函数。                                                    |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``valgrind.sup``                                                  | valgrind 的suppression文件。                                      |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``version.h``                                                     | 记录了 Redis 的版本号。                                           |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``ziplist.c`` 、 ``ziplist.h``                                    | ZIPLIST 数据结构的实现，用于优化 LIST 类型。                      |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``zipmap.c`` 、 ``zipmap.h``                                      | ZIPMAP 数据结构的实现，在 Redis 2.6 以前用与优化 HASH 类型，      |\n|                                                                   | Redis 2.6 开始已经废弃。                                          |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n| ``zmalloc.c`` 、 ``zmalloc.h``                                    | 内存管理程序。                                                    |\n+-------------------------------------------------------------------+-------------------------------------------------------------------+\n","本项目提供了带有详细注释的 Redis 3.0 源代码，旨在帮助开发者深入理解 Redis 的内部实现。核心功能包括对 Redis 各个模块如双端链表、事件处理器、异步网络框架、AOF 功能等进行了详尽的注释，确保在保留原始代码完整性的基础上，增强了可读性和学习性。适合于希望深入了解 Redis 内部机制、进行源码级调试或优化的技术人员使用。","2026-06-11 03:06:12","top_language"]