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

在这里插入图片描述

源码之前,了无秘密

此前翻译了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,还有那几个不知道去哪儿的能不能找到该去的地方。


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

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

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_43762191/article/details/108256541