1. 概述
本文总结了Redis基本的核心知识体系,在学习Redis的过程中,可以将其作为学习框架,以此更好的从整体的角度去理解和学习Redis的内容和设计思想。同时知识框架带来的好处是可以帮助我们更好的进行记忆,在大脑中形成相应的知识网。
内容说明 :本位非详细的介绍Redis的实现原理或某个特定的实现原理,提供的是一个系统的知识框架,后续可以针对性的进行分模块学习。
在应用实践模块,介绍了常见的一些问题与场景,非Redis所有的应用场景,不同业务使用的方式不同,Redis的使用场景可以非常广。
阅读说明:在文章的末尾会提供对应的思维导图,文字内容相对较分散,阅读会较繁琐,从思维导图可以快速的了解全貌,可直接查看。
2. Redis知识体系
知识体系核心分为四大类,分别为:
1.Redis数据结构
2.高可用|高扩展
3.核心机制与能力
4.应用实践
2.1 Redis数据结构
常用类型:
- String
- Set
- Hash
- List
- Zset
特殊类型:
- HyperLogLogs(基数统计)
- BitMaps(位图)
- geospatial(地理位置)
流(Redis5.0):
- Stream(强大的支持多播的可持久化的消息队列)
对象机制
- redisObject
- 对象共享
- 对象淘汰
2.2 高可用|高扩展
内容
- 哨兵机制
- 主从复制
全量复制
增量复制(命令传播)
部分重同步
同源增量同步- 集群模式(Redis Cluster)
可参考文章:
Redis主从复制的原理一 之 概述
Redis主从复制原理二 之 主从复制工作流程
Redis高可用架构
Redis故障转移
2.3 核心机制与能力
持久化机制:
- RDB
- AOF
- 混合模式(4.0)
订阅/发布:
- 基于频道(Channel)
- 基于模式(Pattern)
事件机制:
- 文件事件
NIO,Reactor模式- 时间事件
事务:
- 标准的事务执行
- CAS操作实现乐观锁
线程IO模型:
- None-Blocking + 事件轮询(多路复用)
管道:
- Pipelline
存储管理:
- Key淘汰策略
- Key过期策略
可参考文章:
Redis内存淘汰策略
Redis Key过期策略
2.4 应用实践
缓存问题:
- 缓存数据库数据一致性
- 缓存击穿
- 缓存穿透
- 缓存雪崩
使用场景:
- 分布式锁
- 延迟队列
- 限流
- 位图
3.思维导图
