首页 > 数据库 >Redis源码剖析系列博文开篇&大纲

Redis源码剖析系列博文开篇&大纲

时间:2022-12-30 14:03:56浏览次数:66  
标签:中文 github 开篇 Redis redis 剖析 源码


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

Redis源码剖析系列博文开篇&大纲_Redis

另外在阅读源码的过程中我也给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源码剖析之内存淘汰策略(Evict)​​Redis源码剖析之数据过期(expire)
Redis源码剖析之robj(redisObject)
Redis源码剖析之字典(dict)
Redis源码剖析之跳表(skiplist)
Redis源码剖析之快速列表(quicklist)
Redis源码剖析之压缩列表(ziplist)
Redis源码剖析之SDS(Simple Dynamic String)
Redis源码剖析之RDB
Redis源码剖析之AOF

内容规划&更新计划

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

基础

初识Redis

redis的日常使用

搭建redis源码环境(单步调试)

了解redis的启动过程

各种数据结构

SDS(simple dynamic string)

压缩列表ziplist

quicklist

skiplist

dict

robj

队列

radix树

geo

高级功能

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常用配置


标签:中文,github,开篇,Redis,redis,剖析,源码
From: https://blog.51cto.com/xindoo/5980134

相关文章

  • redis 批量删除key
    以14号库为例,8号库照猫画虎即可1.首先先尝试连接redis,-h指定地址-p指定端口-n指定第几个库切记不要先执行keys*,可以先执行dbsize查看一下key的数量再决定是否执行......
  • SpringCloud Gateway源码中的适配器模式
    SpringCloudgateway中有两种过滤器,路由过滤器(接口为GatewayFilter)和全局过滤器(接口为GlobalFilter);路由过滤器GatewayFilter的定义:1publicinterfaceGatewayFilter......
  • 手撕fft算法--fft原理和源码解析
    一前言 在音频信号处理中,fft变换是一个无法绕过过去的存在。借着一次算法出来的机会,把fft熟悉一下不为过啊。 二问题 这里,其实是由一个问题驱动的,那......
  • 20 万字的 C++ 八股文&图解源码,发布!
    大家好,我是小贺。上周我放言说,这个礼拜整理出「C++八股文 」,给最近秋招季参加面试的读者朋友们,然后就有好几个读者追问小贺的C++八股文啥时候出,从大家的急切的言语中,能......
  • 从头开始学Java源码
    基础篇​​1.String源码解析​​2.Integer源码解析集合篇​​3.ArrayList源码解析​​4.LinkedList源码解析5.List源码面试题集锦6.HashMap源码解析7.TreeMap源码解析8.Link......
  • Redis数据清理
    Windows服务器1、打开cmd命令窗口,切换至Redis安装目录下的bin文件夹2、在cmd命令窗口,输入连接Redis指令:./redis-cli.exe-h127.0.0.1-p63893、连接成功后,如果Redis......
  • SpringDataRedis:第一章:简介
    SpringDataRedis简介项目常见问题思考我们目前的系统已经实现了广告后台管理和广告前台展示,但是对于首页每天有大量的人访问,对数据库造成很大的访问压力,甚至是瘫痪。那如......
  • 纯JavaScript入门级小游戏:兔子抢金币(附演示地址+源码)
    Hello,大家好,我是兔哥,我又来分享好玩的入门级项目啦。今天给大家带来的是一个纯JavaScript入门级小游戏:兔子抢金币,规则非常简单,控制屏幕上的兔子去接天上掉下来的金币,接满20......
  • 三分钟学会 H5 聊天机器人开发(附源码和在线演示)
    【学习目标】熟悉和掌握HTML结构和CSS的相关知识学会使用HBuilder进行APP打包熟悉JavaScript的基本用法和jQuery的使用(提前预习)HBuilder它是一个快速开发H5程序的工具,很多......
  • 【爬虫实战项目】Python爬虫批量下载网易云音乐飙升榜并保存本地(附源码)
    前言今天给大家介绍的是Python爬虫批量下载音乐飙升榜并保存本地,在这里给需要的小伙伴们代码,并且给出一点小心得。首先是爬取之前应该尽可能伪装成浏览器而不被识别出来......