这里开始分析Redis的源码。分析的是Redis-6.2.6版本的源码。
可以把Redis源码分成3大部分:1.服务器设计部分,2.数据结构设计部分,3.分布式设计部分。
- 1.服务器设计
IO的封装,线程模型,服务器接受客户端执行,发送执行结果给客户端等等。
- 2.数据结构设计
各种数据结构的设计,并且融合到事件循环中,助力服务器实现各个指令的功能。
- 3.分布式
主从同步,集群等等。
文章集合
数据结构设计:
网络服务:
使用Redis过程中遇到的问题
网络部分是使用了reactor模式。所以可以先看看我写的的reactor模式linux服务器的开发实现,有助于理解事件循环和回调函数的设置。