BATJ资深架构师谈:Redis是如何只用4MB实现一个功能丰富健壮的数据库?

382 篇文章 0 订阅
22 篇文章 0 订阅

写在前面

Redis是一个使用ANSIC编写的开源、支持网络、基于内存、可选持久性的高性能键值(key-value)对存储数据库。相信作为一名开发人员,Redis的使用次数是很多的,在使用时是不是是只是简单地使用它提供的基本数据类型和接口,并没有深入研究它底层的数据结构呢?

Redis是如何只用4MB实现一个功能丰富健壮的数据库

 

Redis已经是IT企业技术栈中重要的一环,并且相关的从业者数量也在逐年增多,对大多数的人来说Redis可谓是既熟悉又神秘的,只有4MB源码却实现了一个功能丰富且健壮的数据库。

你对Redis了解多少?只需一张思维导图即可:

Redis是如何只用4MB实现一个功能丰富健壮的数据库

 

Redis设计与源码分析

Redis是如何只用4MB实现一个功能丰富健壮的数据库

 

Redis是如何只用4MB实现一个功能丰富健壮的数据库

 

Redis是如何只用4MB实现一个功能丰富健壮的数据库

 

Redis是如何只用4MB实现一个功能丰富健壮的数据库

 

Redis是如何只用4MB实现一个功能丰富健壮的数据库

 

注:光看以上目录就知道此文档全是干货,就目录大纲就足足有七页之多。

第一篇:

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

第1章引言

第2章简单动态字符串

第3章跳跃表

第4章压缩列表

Redis是如何只用4MB实现一个功能丰富健壮的数据库

第5章字典

第6章整数集合

第7章quicklist的实现

第8章Stream

Redis是如何只用4MB实现一个功能丰富健壮的数据库

第二篇:

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

第9章命令处理生命周期

第10章键相关命令的实现

第11章字符串相关命令的实现

Redis是如何只用4MB实现一个功能丰富健壮的数据库

第12章散列表相关命令的实现

第13章列表相关命令的实现

第14章集合相关命令的实现

Redis是如何只用4MB实现一个功能丰富健壮的数据库

第15章有序集合相关命令的实现

第16章GEO相关命令

第17章HyperLogLog相关命令的实现

Redis是如何只用4MB实现一个功能丰富健壮的数据库

第18章数据流相关命令的实现

第19章其他命令

Redis是如何只用4MB实现一个功能丰富健壮的数据库

第三篇:

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

第20章持久化

  • 20.1 RDB
  • 20.2 AOF
  • 20.3 RDB与AOF相关配置指令
  • 20.4本章小结

Redis是如何只用4MB实现一个功能丰富健壮的数据库

第21章主从复制

  • 21.1主从复制功能实现
  • 21.2主从复制源码基础
  • 21.3 slaver源码分析
  • 21.4 master源码分析
  • 21.5 本章小结

Redis是如何只用4MB实现一个功能丰富健壮的数据库

第22章哨兵和集群

  • 22.1哨兵
  • 22.2 集群
  • 22.3本章小结

Redis是如何只用4MB实现一个功能丰富健壮的数据库

Redis面试专题答案解析

Redis是如何只用4MB实现一个功能丰富健壮的数据库

Redis是如何只用4MB实现一个功能丰富健壮的数据库

写在最后

Redis是一个优秀的高性能分布式缓存服务器:在实际应用场景中,每秒QPS能够达到4.5万~5万,算得上性能“怪兽”;在常规非协层的场景中,Redis基本是C10K 高性能服务的经典代表。除性能优势外,Redis的整体代码结构也非常清晰,包括基础数据结构、数据类型实现、数据库实现、服务端实现、集群/主从/队列等,基本模块分布清晰,代码质量非常高。——只需转发+关注

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值