免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1630 | 回复: 0
打印 上一主题 下一主题

Redis 开源文档《Redis设计与实现》 [复制链接]

论坛徽章:
49
15-16赛季CBA联赛之福建
日期:2016-06-22 16:22:002015年亚洲杯之中国
日期:2015-01-23 16:25:12丑牛
日期:2015-01-20 09:39:23未羊
日期:2015-01-14 23:55:57巳蛇
日期:2015-01-06 18:21:36双鱼座
日期:2015-01-02 22:04:33午马
日期:2014-11-25 09:58:35辰龙
日期:2014-11-18 10:40:07寅虎
日期:2014-11-13 22:47:15申猴
日期:2014-10-22 15:29:50摩羯座
日期:2014-08-27 10:49:43辰龙
日期:2014-08-21 10:47:58
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-03-14 22:20 |只看该作者 |倒序浏览
  
                                               
Redis是运用比较广泛的NoSQL产品之一,目前的稳定版本是2.6.10,包括Github、Instagram、Blizzard、新浪微博等都在产品中大量使用了Redis。其代码基于BSD协议开源,整个项目代码量只有2万多行(2.2版本),大家可以通过阅读代码在相对短的时间内学习到作者的设计理念和Redis的实现方式,做到知其然知其所以然。
日前黄健宏(
huangz
)发布了开源文档
《Redis设计与实现》
,这是一份从阅读源代码入手来学习Redis的笔记合集,对于写这份文档的目的,作者如是说:
本书的目标是以简明易懂的方式讲解 Redis 的内部运行机制, 通过阅读本书, 你可以了解到 Redis 从数据结构到服务器构造在内的几乎所有知识。
《Redis设计与实现》主要从高抽象层次在如下的5个方面对Redis的实现进行阐述:
内部数据结构
内存映射数据结构
Redis数据类型
功能的实现
部分运作机制
同时作者为了满足大家深入学习的需求,还对Redis 2.6的源代码进行了
详细注释

《Redis设计与实现》的作者黄健宏(huangz)是一位90后,喜欢函数式编程,由于对数据库产生了兴趣才开始阅读Redis源代码,他这样看待整个阅读过程:
阅读 Redis 源码对我来说是一次全新的学习体验。当我刚开始看 Redis 源码的时候,我只会一些基本的数据结构和算法,没有任何网络编程、数据库或者系统编程方面的经验,基本是一边看源码,一边补充基础知识,然后才慢慢理解的。
在问到阅读开源项目源代码时应该参照怎样的路线,他分享了自己的一些方法:
自底向上:从耦合关系最小的模块开始读,然后逐渐过度到关系紧密的模块。就好像写程序的测试一样,先从单元测试开始,然后才到功能测试。我在刚开始读 Redis 源码的时候,使用的就是这种方法:先从单独的数据结构模块开始,然后再过渡到高层的功能模块。
从功能入手:通过文件名(模块名)和函数名,快速定位到一个功能的具体实现,然后追踪整个实现的运作流程,从而了解该功能的实现方式。我在读阻塞列表、数据库这种流程和功能都比较复杂,和其他文件耦合也比较多的模块时,使用的就是这样的方法。
自顶向下:从程序的 main() 函数,或者某个特别大的调用者函数为入口,以深度优先或者广度优先的方式阅读它的源码。我在阅读  redis.c/serverCron() 、 redis.c/main() 和 ae.c/aeMain()  这种有明显调用者性质的函数时,使用的就是这样的方法。
然后他强调:
这三种方法并不互相冲突:在某些函数/模块要用某种方法,而某些函数/模块要使用另一种方法,有时候又需要混合使用多种方法。
值得一提的是本书已经以“保留所有权利”的方式开源,大家可以在
github
上查看内容的创作过程,同时这种开源的协作方式能让更多人参与内容优化中来。
目前在Github上也有很多类似的内容,如:
Developing Backbone.js Applications

ProGit
等,也许这种写作方式将会在技术领域引领一个新的内容创作潮流。
                       
                               
                    
                               
                       
                       
                       
                                时间:2013-03-14 16:55来源:开源中国 作者:开源中国责任编辑:sjchenkan

本文来自ChinaUnix新闻频道,如果查看原文请点:http://news.chinaunix.net/opensource/2013/0314/2675620.shtml
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP