前言

Redis以其高速、轻量和丰富的数据结构与功能被越来越多的工程师所钟爱。然而,用Redis 的人很多,真正懂Redis的人很少,在面试时被问到Redis大部分人也就是知道个缓存,再问到分布式锁的时候基本上就会摇头,但目前对Redis 的了解和应用实践已成为当下中高级后端开发者绕不开的必备技能。我们做开发的对一个技术也应该知其然也要知其所以然!

今天要与大家介绍的文档正是能帮助那些希望进一步深入理解Redis的朋友。基于Redis 5深入浅出带领读者一步步探索Redis的方方面面,让读者从原理层面真正懂得Redis。如果有朋友需要这两份文档,只需要点赞文章,关注我之后获取在文末!

开篇

  • 开篇:Redis 可以用来做什么?

 

基础篇

  • 基础:Redis基础数据结构

 

应用篇

  • 应用1:分布式锁
  • 应用2:延时队列
  • 应用3:位图
  • 应用4:HyperLogLog
  • 应用5:布隆过滤器
  • 应用6:简单限流
  • 应用7:漏斗限流
  • 应用8:GeoHash
  • 应用9:Scan

 

 

原理篇

  • 原理1:线程IO模型
  • 原理2:通信协议
  • 原理3:持久化
  • 原理4:管道
  • 原理5:事务
  • 原理6:PubSub
  • 原理7:小对象压缩
  • 原理8:主从同步

 

 

集群篇

  • 集群1:Sentinel
  • 集群2:Codis
  • 集群3:Cluster

 

拓展篇

  • 拓展1:Stream
  • 拓展2:Info 指令
  • 拓展3:再谈分布式锁
  • 拓展4:过期策略
  • 拓展5:LRU
  • 拓展6:懒惰删除
  • 拓展7:优雅地使用Jedis
  • 拓展8:保护Redis
  • 拓展9:Redis安全通信

 

 

源码篇

  • 源码1:探索「字符串」内部结构
  • 源码2:探索「字典」内部
  • 源码3:探索「压缩列表」内部
  • 源码4:探索「快速列表」内部
  • 源码5:探索「跳跃列表」内部结构
  • 源码6:探索「紧凑列表」内部
  • 源码7:探索「基数树」内部

 

 

尾声

  • 尾声:继续深造指南

 

由于篇幅限制只能以截图的方式展示出来了,下面我们来看看Redis 5设计与源码分析文档

Redis 5设计与源码分析

这份文档基于Redis5版本从底层源码的角度,对Redis的数据结构以及持久化、主从复制、哨兵和集群等特性的实现原理进行了详尽的剖析,图文并茂。行文中也能看出作者团队在源码分析和系统编程方面的功力,相信对于所有想要了解Redis及其内部实现的人来说都会有所帮助。

这份文档内容逻辑上分为三篇,共计22章内容。

  • 目录一览

第一篇:第1章简单介绍了Redis,以及Redis 的编译安装和研读的方式;第2~8章重点讲解了SDS、跳跃表、压缩列表、字典、整数集合、quicklist和Stream数据结构的实现。

 

 

第二篇:第9章讲解了Redis的生命周期,命令执行的过程,需要重点阅读;第10~19章,分别讲解了键、字符串、散列表、链表、集合、有序集合、GEO、HyperLog和数据流相关命令的实现。

 

 

 

第三篇:第20~22章简单讲解了持久化、主从复制和集群的实现,没有详细展开,希望能带读者入门。

 

  • 文档部分内容

 

 

 

写在最后

其实很多业务场景,如果仅仅是会使用某项技术、框架,那是再简单不过了。但随着业务发展,系统的用户量、并发量涨上来之后,现有系统的问题就会层出不穷地暴露出来。如果不能深入地了解系统、技术和框架背后的深层原理,很多问题根本无法理解到本质,更谈不上解决,临时抱佛脚也于事无补,Redis也是一样。还是那句话我们做开发的对于一个技术要做到知其然也知其所以然,为未来进阶成长为架构师做好准备。如果你在学习Redis的时候遇到许多问题,那么这两份文档一定能帮助你,需要的朋友帮忙点赞文章,关注我之后添加小助理vx即可免费获取!