推荐给对redis感兴趣的人的一本书
2014-07-03
作为看过这本书网络旧版,以及读过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)的算法,即只对一部分的元素排序。