【redis6.0.6】redis6.0.6源码,慢慢看,慢慢聊 -- 第一天:学习路线

举报
看,未来 发表于 2020/12/30 01:08:40 2020/12/30
【摘要】 源码之前,了无秘密 此前翻译了redis.conf的配置文件,获6篇文,大家也挺喜欢的。 redis.conf翻译与配置(一) redis.conf翻译与配置(二) redis.conf翻译与配置(三) redis.conf翻译与配置(四) redis.conf翻译与配置(五) redis.conf翻译与配置(六) 也写了一些redis实操和概念的文,反响还不错...

在这里插入图片描述

源码之前,了无秘密

此前翻译了redis.conf的配置文件,获6篇文,大家也挺喜欢的。
redis.conf翻译与配置(一)
redis.conf翻译与配置(二)
redis.conf翻译与配置(三)
redis.conf翻译与配置(四)
redis.conf翻译与配置(五)
redis.conf翻译与配置(六)

也写了一些redis实操和概念的文,反响还不错,涨了不少粉丝

带上问题来学redis,看到不吃亏(什么是redis?缓存问题、数据一致性、redis配置文件汉化版)
全面分析redis持久化机制
and so on.

之后我打开了redis/src目录,发现了“新大陆”。
我准备学习一下redis的源码,并总结我的学习笔记。

那么学习总该有个路线图,于是经过多方求教,我把那一堆上百个文件做了个初步的划分(随着学习的进度后面会再细分):

学习推进路线

在这里插入图片描述

受侯捷老师的《STL源码剖析》的带动,我决定先学习redis的内存分配原则,为接下来的数据结构铺平道路。

在这里插入图片描述

在阅读完和数据结构有关的文件之后, 接下来就应该阅读内存编码(encoding)数据结构了。
不过据说:内存编码数据结构不容易找到相关的资料, 因为这些数据结构都是 Redis 为了节约内存而专门开发出来的, 换句话说, 这些数据结构都是特制(adhoc)的, 除了 Redis 源码中的文档之外, 基本上找不到其他资料来了解这些特制的数据结构。

在这里插入图片描述

接下来, 为了知道 Redis 是如何通过以上提到的数据结构来实现不同类型的键, 我们需要阅读实现各个数据类型的文件, 以及 Redis 的对象系统文件。

在这里插入图片描述

在读完了 Redis 使用所有底层数据结构, 以及 Redis 是如何使用这些数据结构来实现不同类型的键之后, 我们就可以开始阅读 Redis 里面和数据操作有关的代码了
在这里插入图片描述

接下来,在阅读完数据库实现代码, 以及 RDB 和 AOF 两种持久化的代码之后, 我们可以开始阅读客户端和 Redis 服务器本身的实现代码
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

当然,前面阅读过程中还会需要一些配套文件的支持,碧如bio、rio等

在这里插入图片描述

在弄懂了 Redis 的单机服务器是怎样运作的之后, 就可以开始阅读 Redis 多机功能的实现代码了
在这里插入图片描述

工具类

还有一些工具类:
在这里插入图片描述

以及剩下的一些:
在这里插入图片描述
这些我可能就看看Makefile,还有那几个不知道去哪儿的能不能找到该去的地方。


前期准备工作已毕,之后就开始学习之路了。

如果有需要这套分好的文件的朋友,可以关注私信,毕竟我分这一大堆东西也不容易啊。

在这里插入图片描述

文章来源: lion-wu.blog.csdn.net,作者:看,未来,版权归原作者所有,如需转载,请联系作者。

原文链接:lion-wu.blog.csdn.net/article/details/108256541

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。