《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 的对象处理机制,以及数据库的实现原理。
  • 事务实现原理。
  • 订阅与发布实现原理。
  • Lua 脚本功能的实现原理。
  • 慢查询日志的实现原理。
  • RDB 持久化和 AOF 持久化的实现原理。
  • Redis 事件处理器的实现原理。
  • Redis 服务器和客户端的实现原理。

根据读者的反馈, 对旧版已有的内容进行了大幅度的改写, 删除了一些比较鸡肋的内容, 修复一些已知的 bug , 然后根据 Redis 2.9 的源码, 对已有内容进行更新,并添加新内容。

举个删除内容的例子: 很多读者都对旧版里《字典》一章的安全迭代器产生了误解, 在写新版的时候,我认为这个知识点过于底层, 并且没有实际的帮助,所以新版里面就删除了对安全迭代器的介绍。

再举个添加内容的例子: 因为 Redis 在 2.8 版本才添加了 PUBSUB 命令, 所以旧版并没有介绍 PUBSUB 命令的实现原理, 而新版则有对这个命令进行介绍。 又比如说, 旧版将对客户端的介绍和对服务器的介绍放在了同一章, 而新版则扩写了对客户端和对服务器的介绍, 并使用两章来分别介绍它们。

除了对旧版已有的内容进行更新之外, 新版还添加了《复制》、《Sentinel》、《集群》、《排序》和 《二进制位数组》五个全新的章节。

篇幅 163 页。 388 页。
附赠内容 Redis 2.6 注释源码。 Redis 3.0 注释源码。

讨论

comments powered by Disqus