AI工具人
提示词工程师

Redis源码剖析开篇

今年我启动了好几个比较有挑战的个人项目,比如写一门编程语言、成为一名视频UP主、写科幻小说…… 这些项目目前进度都很堪忧,一方面这些项目挑战都比较大,另一方面业余时间还要忙着吃吃喝喝、追剧、刷综艺、睡懒觉…… 不过有个项目进度不至于那么不堪,那就是今天的猪脚——《Redis源码剖析》系列博文,今天也是这个系列博文的开篇。为此,我也在github上建立了中文注解版的Redis源码库,详见https://github.com/xindoo/redis,目前已经添加近700行的中文注释,欢迎Star和关注。
在这里插入图片描述

另外在阅读源码的过程中我也给Redis官方提了PR,目前已经被merge进去了,你可以在git log中看到xindoo我了(当然我只是做了一些微小的工作,不值一提)。

回到今天的主题,开专栏纯属兴趣、没打算收费,没必要在这里贩卖焦虑,Redis里有是有很多值得学习的地方,但并不是非看不可,因为这些东西可能其他地方或者其他项目里也能学到,看不看真的随你意愿。既然是开篇,就主要来介绍下这个项目,并给出我目前的内容规划。

这个专栏是什么不是什么?

首先,这个专栏其实不是一个面向新手的redis教程、也不是什么配置使用教程,如果是初识redis的话,建议参考官方文档,国内也有好多博主写过相关的内容了。另外如果是想找redis的某个具体的配置项,强烈建议参考官方博客。总结起来就一句话,这个项目不是redis的入门读物、更不是redis使用和配置教程。

那这个项目是什么呢?我的目标定位,这个项目是资深程序猿阅读和理解redis源码最优质的中文材料。虽然世面上已有黄建宏老师的redis中文注解版https://github.com/hujianhong/redis-3.0-annotated,但他那个是redis3.0(现在都已经到6.0.x版了),而且多年未更新过了。我这个项目预期做到 源码+中文注释+系列博文 三位一体,全方位帮大家深入理解redis的原理。另外github上我源码库不是redis的copy,而是直接fork出来的,所以会定期和redis当前源码保持一致,时更时新。

这里放上相关链接,欢迎关注
Redis中文注解版仓库:https://github.com/xindoo/redis
Redis源码剖析专栏:https://blog.csdn.net/xindoo/category_10068113.html

内容规划&更新计划

目前暂定的内容规划如下,后期可能会但我自己进度适当增删调整内容,更新频次是每周一篇左右(一月4篇)。

基础

  • [ ] 初识Redis
  • [ ] redis的日常使用
  • [ ] 搭建redis源码环境(单步调试)
  • [ ] 了解redis的启动过程

各种数据结构

  • [ ] SDS(simple dynamic string)
  • [ ] list
  • [ ] set
  • [ ] sort set
  • [ ] robj
  • [ ] dict(负载因子,渐进式hash)
  • [ ] skiplist
  • [ ] 队列
  • [ ] radix树

高级功能

  • [ ] redis的集群模式
  • [ ] 发布订阅模式实现
  • [ ] redis6.0客户端缓存
  • [ ] redis stream和消息队列
  • [ ] redis的模块
  • [ ] lua相关
  • [ ] geo

架构

  • [ ] Redis IO模型(单线程如何那么快)
  • [ ] redis6.0的多线程
  • [ ] redis的后台线程
  • [ ] 单机和集群模式
  • [ ] 集群数据同步
  • [ ] 高可用之sentinel
  • [ ] redis后台线程
  • [ ] 持久化存储(aof&rdb)
  • [ ] RESP协议

其他

  • [ ] 数据数据淘汰之LRU和LFU
  • [ ] redis渐进式hash详解
  • [ ] redis数据过期(惰性删除)
  • [ ] 分布式锁 redlock
  • [ ] Redis基于引用计数的垃圾回收
  • [ ] redis使用注意事项
  • [ ] redis常用配置
赞(0) 打赏
未经允许不得转载:XINDOO » Redis源码剖析开篇

评论 抢沙发

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续给力更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫