《Redis 设计与实现》新旧版本详细对比 ======================================= 一些朋友可能读过 2013 年 3 月 8 日在网上释出的旧版《Redis 设计与实现》, 为了帮助各位了解新版《Redis 设计与实现》所做的改进, 以下表格罗列了新旧两版《Redis 设计与实现》的主要区别: +---------------+-------------------------------------------------------+---------------------------------------------------------------+ | 版本 | 旧版 | 新版 | +===============+=======================================================+===============================================================+ | 形式 | 网上发布的免费电子书。 | 由机械工业出版社华章公司出版的实体书。 | +---------------+-------------------------------------------------------+---------------------------------------------------------------+ | Redis 版本 | 基于 Redis 2.6 编写。 | 基于 Redis 3.0 的开发版 Redis 2.9 编写, | | | | 向后兼容 Redis 2.8 和 Redis 2.6 。 | +---------------+-------------------------------------------------------+---------------------------------------------------------------+ | 写作目标 | 介绍 Redis 的底层运作机制和单机功能的实现原理。 | 介绍 Redis 的底层运作机制、单机功能和多机功能的实现原理。 | +---------------+-------------------------------------------------------+---------------------------------------------------------------+ | 内容 | - 各种类型的键的底层实现数据结构, | 根据读者的反馈, | | | 比如字符串、链表、字典,等等。 | 对旧版已有的内容进行了大幅度的改写, | | | - Redis 的对象处理机制,以及数据库的实现原理。 | 删除了一些比较鸡肋的内容, | | | - 事务实现原理。 | 修复一些已知的 bug , | | | - 订阅与发布实现原理。 | 然后根据 Redis 2.9 的源码, | | | - Lua 脚本功能的实现原理。 | 对已有内容进行更新,并添加新内容。 | | | - 慢查询日志的实现原理。 | | | | - RDB 持久化和 AOF 持久化的实现原理。 | 举个删除内容的例子: | | | - Redis 事件处理器的实现原理。 | 很多读者都对旧版里《字典》一章的安全迭代器产生了误解, | | | - Redis 服务器和客户端的实现原理。 | 在写新版的时候,我认为这个知识点过于底层, | | | | 并且没有实际的帮助,所以新版里面就删除了对安全迭代器的介绍。 | | | | | | | | 再举个添加内容的例子: | | | | 因为 Redis 在 2.8 版本才添加了 ``PUBSUB`` 命令, | | | | 所以旧版并没有介绍 ``PUBSUB`` 命令的实现原理, | | | | 而新版则有对这个命令进行介绍。 | | | | 又比如说, | | | | 旧版将对客户端的介绍和对服务器的介绍放在了同一章, | | | | 而新版则扩写了对客户端和对服务器的介绍, | | | | 并使用两章来分别介绍它们。 | | | | | | | | 除了对旧版已有的内容进行更新之外, | | | | 新版还添加了《复制》、《Sentinel》、《集群》、《排序》和 | | | | 《二进制位数组》五个全新的章节。 | +---------------+-------------------------------------------------------+---------------------------------------------------------------+ | 篇幅 | 163 页。 | 388 页。 | +---------------+-------------------------------------------------------+---------------------------------------------------------------+ | 附赠内容 | Redis 2.6 注释源码。 | Redis 3.0 注释源码。 | +---------------+-------------------------------------------------------+---------------------------------------------------------------+