文章吧-经典好文章在线阅读:Redis设计与实现的读后感10篇

当前的位置:文章吧 > 经典文章 > 读后感 >

Redis设计与实现的读后感10篇

2018-07-02 04:31:02 来源:文章吧 阅读:载入中…

Redis设计与实现的读后感10篇

  《Redis设计实现》是一本由黄健宏著作机械工业出版社出版的平装图书,本书定价:79.00,页数:388,特精心网络整理的一些读者读后感希望大家能有帮助

  《Redis设计与实现》读后感(一):数据结构之美

  [阅读时间]

  2016/3/29开始读,4/26读完全书。每一页用心阅读, 除了第372页对BITCOUNT使用的variable-precison SWAR算法没看懂之外,其他知识都完全理解

  [书与技术在当下的状态]

  2014年3月份出的书(也就是我整两年后才开始读),作者当时用的是redis 2.9的版本,而到我看的时候Redis已经出到3.0.7,但这不影响阅读,因为对于2.8版本的复制和Sentinel(HA)功能,还有3.0版本的集群功能都有介绍

  [整本书的结构]

  全书包括四个部分整体来看是从小到大,从简入深,从细节到整体的技术传授。每一章节内容则是以总-分-总的格式书写,我很喜欢每一章节的一开始和最后的重点回顾,我一般都先看一下这两部分,从而对技术有整体了解,然后带着疑问需求去细看,回过头来看这种学习效果甚好。

  第一部分,数据结构与对象个人认为是全书精彩的部分,完全值回书价。作者仔细诠释了redis使用者经常使用的的五种常用数据结构(字符串、列表、哈希、集合有序集合)之下的六种“底层”数据结构(sds, list, dict, skiplist, intset, skiplist). 数据结构之美被redis和盘托出,连续存储结构与不连续存储结构各自的优缺点被Redis挖掘到了极致。而在数据激增时,数据结构的“变型”更让我兴奋,大数据思想也在其中有所体现

  第二部分和第四部分,单机模式独立功能部分,表述比较平淡。可是拿出来说的是AOF/RDB持久化功能。缓存的使用为数据一致性和安全性保驾护航,好的设计好的思想。

  第三部分,多机实现。包括,复制、HA和集群。我认为这些是redis可以称霸缓存级别数据库的关键所在。作者虽然书写的有些啰嗦,但无碍全局把控,核心设计思想都描述到位。回答了我掉电或短线后的数据如何保护这个问题。但是,对于HA和集群在功能方面区别,我个人感觉写的不是很清晰,应该可以列一个表格做一下对比

  [总结]

  在TeaHour(一个Ruby的Podcast)有一期,主持人推荐了这本书,当时我正看这本书看得痴迷,一听到有同好者,会心一笑。确实是好书一本,尤其是在知道作者是一位90后,并且钻研redis源码多年的份子上。我想是作者对Redis的这份激情感染了读者们。当然他也很好地诠释了数据结构是如何与NoSQL结合,从而绽放精彩与完美的。

  《Redis设计与实现》读后感(二):真的是设计与实现而非实践指南

  这是2016年目前读到的最有价值技术书籍

  全书读完最有收获的是第一部分:数据结构与对象

  起初没明白为什么会讲数据结构,并且还是C语言-源代码

  不过还好,内容安排循序渐进,虽然第一遍看时有些吃力

  但是细细琢磨,配着书中丰富的图例,真是竟然看透看懂了

  看完第一部分,才意识到,原来后边的内容,全是基于这些数据结构实现的底层逻辑

  所以这一部分阅读时尽量不要跳过!

  并且对于把Java当主编程语言的同学绝对有很多值得学习和思考地方

  能学习到新知,并让人产生思考,绝对是一本书的价值体现!

  全书作者的文字表达能力虽有不是很通顺的地方,但是图例,完美地弥补了这一点

  图例太丰富,太直白,有时候简直比文字都好理解,这一点太佩服作者了!

  第二,三部分:单机/多机数据库的实现

  既然读懂了Redis特有的数据结构及对象组织方式,那这部分对于理解Redis数据库的实现

  简直是太简单了,并且读完有一种豁然开朗的感觉,假如要使用Java语言模拟实现,应该也不难!

  第四部分:独立功能实现

  全书只有这一部分有一小段儿看不懂:

  在BITCOUNT 命令的实现中关于variable-precison SWAR算法的原理解释

  虽配有文字和图例,但真是没看懂,没能全部理解!

  所以,全书读下来,信息量太大,关于Redis的底层实现逻辑,终于有了个透彻的理解和学习

  一开始以为本书会是一个实践指南类的,但是读完数据结构和数据库这两部分

  才明白:源码已尽显,实践其实配合书中图例已经算是在边了解底层的同时边实践了

  不过还是希望以后再版时,作者能加些实际生产使用的场景案例和运维相关的内容!

  《Redis设计与实现》读后感(三):大神出品,精品之作

  书的结构很清晰,从底层数据结构开始讲起,延伸到单机客户服务器实现,事件机制,3.0版本的多机集群实现,以及独立功能的实现。原理阐述的很容易理解,可以看出作者对Redis源码确实下了一番功夫。如果只是对Redis的原理有兴趣,那么读这本书够了,但是想了解更多的实现细节,比如在重新分片过程中Redis是如何实现槽上某个键值对原子迁移的等问题,则需要自己去研读源码了。美中不足的地方在于作者没有将源码与讲解结合起来,而是给出的伪代码,虽然更加易于理解,但是总感觉少了点什么。看完这本书,再去看源码应该是一件相对容易的事情了。总体而言,是值得推荐的一本书,读完之后对nosql的理解感觉上了一个档次,而不仅仅停留在把它当做一个map的使用上。

  《Redis设计与实现》读后感(四):推荐给对redis感兴趣的人的一本书

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

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

  勘误

  91页,9.2节的例子中:

  redis[2]> SET msg"another world"

  msg与"another world"间少了空格。

  103页,PEXPIREAT的伪代码中:

  return0

  return 与0间少了空格。

  185页, 以下这句话:

  “所以这两个属性记录的事件的精确度并不高:

  1. 服务器只会在打印日志更新服务器的lru时钟决定是否执行持久化任务计算服务器上线时间这类对时间精度要求不高的功能上”

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

  疑问:

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

评价:

[匿名评论]登录注册

评论加载中……