6

Redis源码剖析开篇

 3 years ago
source link: https://zxs.io/article/1757
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Redis源码剖析开篇

2020-09-26 分类:Redis / 源码分析 阅读(2216) 评论(0)

今年我启动了好几个比较有挑战的个人项目,比如写一门编程语言、成为一名视频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常用配置

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK