开始读redis的源码了

16 篇文章 7 订阅
6 篇文章 1 订阅

Redis是一个很简单的nosql类型的数据库,代码量相对来说是比较少的.但是代码风格确实比较漂亮.


我打算花一段时间剖析一下它的代码,不光是看啦,看的话,收获是不大的.我打算从Redis那纷繁复杂,令人眼花缭乱的代码里剥出一个单机的数据库,能够运行的,但是没有那么多的错误处理代码,这样以来既可以学到作者的代码风格,也可以看到如何来实现一个数据库,同时还可以学习网络编程,确实是一举多得的一件事情.


如果你想了解一下源码的话,推荐一本写的比较清楚的书:

<<Redis设计与实现>>



我应该会在这项工作估计花几个星期吧,最迟应该不超过一个月,剥完之后,我打算用cpp来写一个redis客户端.然后我研究生期间的网络编程学习之旅估计就到头了,因为加上我之前做过的一些东西,linux网络编程的一些特别坑的地方,以及特别精华的东西已经触摸到了,剩下的都不是什么难事了,如果将来工作是这方面的话,就等待工作慢慢地熟练了.


现在已经读了一部分,最起码它的统一事件源部分已经剥出来了,接下来慢慢添加剩余的代码.

如果你也感兴趣的话,可以看一下我剥出来的代码:https://github.com/lishuhuakai/Redis-Simplify

12月10日:

~~~~~~~~~~

完结撒花,代码已经剥离完毕,代码也能很好地运行了,我使用的机器是ubuntu 15.10.接下来就是写一个客户端来练练手了,相比于服务端,客户端简直就是小儿科.


12月3日:

~~~~~~~~~~

代码现在已经非常臃肿了.看来C的代码到了一定的程度之后,真的变得很难管理了.个人突然觉得1到2万的c代码还在掌控之内,再多就已经超过我能掌控的范围了.换句话说,你不可能做到细节与宏观都了解得一清二楚,太费劲了.


这或许也是为什么人们要提出抽象的原因吧,我只规定一套接口,我的代码依赖于这套接口之上,至于你怎么实现,那就和我没有多大的关系了.


还有一点,c工程写大之后,其实你去看它的代码,其实里面用了很多面向对象的思想,包括数据的封装,代码的复用,感觉越写越像cpp.代码我已经剥了很大的一部分了,应该用不了多久就能剥出一个单机NoSql数据库了.然后准备开始写redis的客户端了.


  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值