01 - 使用VS Code调试Redis源码

系列文章目录

01 - 使用VS Code调试Redis源码
02 - Redis源码结构介绍



为什么要阅读Redis源码

这两年Redis已经取代Mysql成为我工作中最常接触的基础组件了。但使用的越多,疑惑之处也越多。

首先是高可用,sentinel机制究竟是什么样的?Redis实例上线下线的过程中能够保证数据不丢失么?

其次是各个数据结构的细节,比如一个SET能够容纳多少数据?会不会在达到某个阈值之后性能断崖式下降?

第三是持久化机制,在生产中遇到了执行RDB导致Redis主从切换,所以特别需要了解其执行细节。

当然还有许多其他疑问不一一列举了。虽然网上也有很多文章介绍这些功能以及原理,但我觉得深入源码之后才能知其所以然,再遇到问题就能从更本质的角度去分析。

以上就是我开始阅读Redis源码的缘由。

参考资料

首先是《Redis设计与实现》一书,深度🌟🌟🌟,广度🌟🌟🌟🌟。我认为可以大致翻阅一遍,之后将其作为工具书,想了解哪块的知识就去对应的章节看。

其次是一门课程Redis 源码剖析与实战,在写阅读笔记的时候我还没学完。从我读到一半的体验来看,每一章节的信息量都很大,但整体来看还是显得零散。可能是这类课程的通病吧,每一章都必须要对应一个知识点。

最后是《C Primer Plus》。因为一直以来主力语言是Java,对于C的语法,尤其是指针这些知识完全陌生,还有C的编译调试也没有概念。这本书正好用来作为学习C语言的参考。

还有一些博文、教程会在具体的篇目中单独列出来。

准备调试环境

无论是看的书还是课程,上来就直接都是直接看源码了,但我希望能够debug源码,看执行一个命令的时候函数到底是怎样跳转的才能更容易理解源码。

下载源码

我使用的 redis-3.0-annotated是《Redis设计与实现》一书的配套材料,虽然当前(2022年5月份)Redis 7.0已经发布,但3.0版本已基本包含了Redis重要功能。相比于官方源码,这个仓库的代码加上了中文注释,阅读代码会更容易。

git clone https://github.com/huangz1990/redis-3.0-annotated.git

在VS Code中配置运行环境

  1. 首先确认VS Code已安装 C/C++、C/C++ Extension Pack 插件

  2. 添加配置Run -> Add Configuration

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值