Redis源码阅读01-读了一下redis启动流程涉及的源码

阅读源码是学习一门技术的必经之路,经过1周左右的c语言入门学习,我就开始硬读redis的源码了。因为公司的多版本的改造,所以源码就选择redis6.x的最高版本redis6.2.7。

在阅读源码前,首先要有一些c语言的基础,所以推荐先学一学c语言的基本语法,推荐的书是《c primer plus》,这本书讲的特别细,既可以当作入门的书来看,也可以作为工具书,在遇到问题的时候翻一翻。

阅读源码应该从哪读起,不同的人有不同的看法,比如陈雷的《redis5源码设计与分析》这本书里面,首先是从redis的数据结构开始入手进行介绍的。而《Redis源码剖析与实战》的蒋德钧是从项目的目录结构开始进行介绍的。我比较急,直接就从启动开始看。我的阅读习惯就是从启动流程开始,最好是可以边跑边读,所以我首先找到redis-server的启动入口。redis-server嘛,入口就是server.c的main方法了。在redis2.x的版本里,这个文件的名就是redis-server.c,这点得注意。

读源码的过程中,为了避免看了一眼,隔天就忘的情况,我会在代码上面增加一些注释,来记录一下方法的功能,亦或者把方法的原来的英文注释说明给翻译一下。遇到一些linux的底层方法,就把方法的说明在用处进行记录。

另外使用脑图工具把整个启动流程中调用的方法进行记录,把比较关键的点使用标记进行标注。

有一些看不懂的地方,就加一些printf语句将参数、结果等进行输出,这样可以从结果对执行过程或者是方法功能进行反推。

有一个缺点是,这么看源码真的是又慢又麻烦。但是会有脑图和经过注释的代码的输出。不算是毫无成果。会比看过就忘好一些。

同事有建议我读点重要的就行,比如说redis的数据结构,不知道xx原理不一样维护集群。我觉得不然。

在读过以后我也有一些自我怀疑,我读了源码以后和没读有啥区别,我看过了以后究竟弄懂了什么?我读过以后,把每一步都列出来,然后才好去看哪步是重要的,哪步是不重要的。别人总结的东西毕竟是别人的东西,我自己总结的是我自己的。

看过了以后其实脑子里面先有个印象,

无论是简单还是复杂的文档,一定要有输出才行。输出的东西才是自己的东西。

因为C语言用的很少,所以要自己亲自写的话还是有困难的,第一先混个代码脸熟。

ae事件循环这块还是没有读太懂。一回生二回熟,熟能生巧,再接再厉。

但是最终大抵是读完了。

未完待续。

see also at http://www.shutdown.cn/post/redis-read-code-01-start-flow/

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值