Redis开源文档《Redis设计以及实现》[转]

Redis凡应用比较常见的NoSQL产品有,目前的风平浪静版本是2.6.10,包括Github、Instagram、Blizzard、初浪微博齐还以活面临大量利用了Redis。其代码基于BSD协议开源,整个项目代码量只发2万多实行(2.2本),大家可通过阅读代码在对立不够的年华内上到作者的计划性理念及Redis的兑现方式,做到知其然知其所以然。

不久前黄健宏(huangz)发布了开源文档《Redis设计与实现》,这是一律卖起读书源代码入手来学习Redis的记合集,对于刻画这卖文档的目的,作者如是说:

本书的靶子是因简明易懂的章程讲解 Redis 的内运行机制, 通过看本书,
你得了解及 Redis 从数据结构到服务器构造在内的几有知识。

《Redis设计以及落实》主要从高抽象层次在如下的5单方面针对Redis的兑现进行阐释:

  1. 里头数据结构
  2. 内存映射数据结构
  3. Redis数据类型
  4. 职能的落实
  5. 有些运转体制

又作者为满足大家深刻学习的需要,还对Redis
2.6之源代码进行了详细注解。

《Redis设计以及落实》的撰稿人黄健宏(huangz)是同样员90继,喜欢函数式编程,由于对数据库来了感兴趣才起看Redis源代码,他这样看待一切阅读过程:

读 Redis 源码对自吧是平涂鸦全新的习心得。当自家刚开头看 Redis
源码的当儿,我光见面有主干的数据结构和算法,没有其他网络编程、数据库或者系统编程方面的阅历,基本是一派看源码,一边补充基础知识,然后才日渐知晓的。

于发问到阅读开源项目源代码时应当参照哪些的路径,他享受了上下一心的组成部分措施:

  1. 自底向上:从耦合关系太小之模块开始读,然后逐步过度到关系密不可分的模块。就恍如写程序的测试相同,先打单元测试开始,然后才到职能测试。我以刚开读
    Redis
    源码的时,使用的就是这种措施:先由单独的数据结构模块开始,然后重新搭至高层的功能模块。

  2. 起效益入手:通过文件称(模块名)和函数号称,快速稳定及一个成效的切切实实贯彻,然后追踪整个实现的运行流程,从而了解该功能的贯彻方式。我以朗诵阻塞列表、数据库这种流程和效用还比较复杂,和其余文件耦合也于多的模块时,使用的哪怕是这般的方法。

  3. 自到向下:从程序的 main()
    函数,或者某特别可怜之调用者函数为进口,以深度优先或广度优先的法读它们的源码。我在阅读
    redis.c/serverCron() 、 redis.c/main() 和 ae.c/aeMain()
    这种有显调用者性质的函数时,使用的就是这般的不二法门。

接下来他强调:

即三种方式并无互相冲突:在少数函数/模块要因此某种方式,而某些函数/模块要下任何一样种方式,有时候还要待混合使用多方法。

值得一提的凡本书都为“保留有权利”的道开源,大家好在github及查看内容的创作过程,同时这种开源之通力合作方法会于还多口与内容优化中来。

原稿地址:http://www.infoq.com/cn/news/2013/03/redis-book

Redis图形监控工具–RedisLive          

Redis监控方案

网站地图xml地图