BATJ架构师谈:Redis是如何只用4MB实现一个功能丰富健壮的数据库
作者:互联网
写在前面
Redis是一个使用ANSIC编写的开源、支持网络、基于内存、可选持久性的高性能键值(key-value)对存储数据库。相信作为一名开发人员,Redis的使用次数是很多的,在使用时是不是是只是简单地使用它提供的基本数据类型和接口,并没有深入研究它底层的数据结构呢?
Redis已经是IT企业技术栈中重要的一环,并且相关的从业者数量也在逐年增多,对大多数的人来说Redis可谓是既熟悉又神秘的,只有4MB的源码却实现了一个功能丰富且健壮的数据库。
你对Redis了解多少?只需一张思维导图即可:
Redis设计与源码分析
注:光看以上目录就知道此文档全是干货,就目录大纲就足足有七页之多。
第一篇:
第1章简单介绍 了Redis,以及Redis的编译安装和研读的方式;第2~8章重点讲解了SDS、跳跃表、压缩列表、字典、整数集合、quicklist和Stream数据结构的实现。
第1章引言
第2章简单动态字符串
第3章跳跃表
第4章压缩列表
第5章字典
第6章整数集合
第7章quicklist的实现
第8章Stream
温馨提示:转发+关注,扫码即可。
第二篇:
第9章讲解了Redis的生命周期,命令执行的过程,需要重点阅读;第10~19章, 分别讲解了键、字符串、散列表、链表、集合、有序集合、GEO、HyperLog和数据流相关命令的实现。
第9章命令处理生命周期
第10章键相关命令的实现
第11章字符串相关命令的实现
第12章散列表相关命令的实现
第13章列表相关命令的实现
第14章集合相关命令的实现
第15章有序集合相关命令的实现
第16章GEO相关命令
第17章HyperLogLog相关命令的实现
第18章数据流相关命令的实现
第19章其他命令
第三篇:
第20~22章简单讲解了持久化、主从复制和集群的实现,没有详细展开,希望能带读者入门。
第20章持久化
- 20.1 RDB
- 20.2 AOF
- 20.3 RDB与AOF相关配置指令
- 20.4本章小结
第21章主从复制
- 21.1主从复制功能实现
- 21.2主从复制源码基础
- 21.3 slaver源码分析
- 21.4 master源码分析
- 21.5 本章小结
第22章哨兵和集群
- 22.1哨兵
- 22.2 集群
- 22.3本章小结
Redis面试专题答案解析
写在最后
Redis是一个优秀的高性能分布式缓存服务器:在实际应用场景中,每秒QPS能够达到4.5万~5万,算得上性能“怪兽”;在常规非协层的场景中,Redis基本是C10K 高性能服务的经典代表。除性能优势外,Redis的整体代码结构也非常清晰,包括基础数据结构、数据类型实现、数据库实现、服务端实现、集群/主从/队列等,基本模块分布清晰,代码质量非常高。
——只需转发+关注,扫码即可
标签:主从复制,实现,Redis,BATJ,命令,源码,功能丰富,相关 来源: https://www.cnblogs.com/D1676/p/13634700.html