推荐给对redis感兴趣的人的一本书_Redis设计与实现书评-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 编程 > Redis设计与实现 > 推荐给对redis感兴趣的人的一本书
zionwu Redis设计与实现 的书评 发表时间:2014-07-03 23:07:14

推荐给对redis感兴趣的人的一本书

作为看过这本书网络旧版,以及读过redis源码的人,我认为这本书值得一读。与旧版相比,新版完全是重写了,添加了更多更详细的内容,可以看出作者的用心与诚意。而书中并没有简单的粘贴源码或者陷入代码级别的细节中,而是将源码中重要的逻辑和思想抽象出来,深入浅出做讲解。比如第二章2.2 “SDS与C字符串的区别”, 就很好的解释了为什么redis要采用sds的设计,让人能从中学习到redis设计的思想。书中的讲解配有大量的图,一般结合具体的例子,理解起来十分容易。

无论是只是想要理解redis设计的人,还是想要进一步深入阅读源码的人,这本书都是十分值得一读的。

勘误
P91页,9.2节的例子中:
redis[2]> SET msg"another world"
msg与"another world"间少了空格。

P103页,PEXPIREAT的伪代码中:
return0
return 与0间少了空格。

P185页, 以下这句话:
“所以这两个属性记录的事件的精确度并不高:
  1. 服务器只会在打印日志,更新服务器的lru时钟,决定是否执行持久化任务,计算服务器上线时间这类对时间精度要求不高的功能上”

这句话感觉没说完,应该是“...的功能上使用这两个属性”


疑问:
21.6节“limit选项的实现”,说会对键进行全排序后取出limit个元素。但是我印象中redis是采用了部分快排(partial quick sort)的算法,即只对一部分的元素排序。

展开全文


推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

对“推荐给对redis感兴趣的人的一本书”的回应

黄健宏 2014-07-05 12:31:09

zionwu,你好!
我是本书的作者,黄健宏(huangz),感谢你为书本撰写书评。
关于你提到的 91 页、103 页以及 185 页的错误的确存在,我已经根据你的提示添加了勘误信息,在 http://redisbook.com/en/latest/errata/chp9.htmlhttp://redisbook.com/en/latest/errata/chp14.html 可以看到。
至于你对 21.6 节的疑问,书本的描述是没有问题的,因为 Redis 的确用到了部分快排,但部分快排只会在用户指定了 BY 选项的情况下使用: https://github.com/huangz1990/redis-3.0-annotated/blob/unstable/src/sort.c#L622 而在其他情况下,Redis 直接使用标准库中的 qsort 函数来进行排序。
如果还有其他疑问的话,也可以继续提出来,我们可以继续讨论。