RDB
- Redis Database 默认开启
- 指定时间内执行指定次数写操作,将内存中的数据写入磁盘。
AOF
- Append Only File 需要手动开启,完整性更高
- 默认每秒将写操作日志追加写入磁盘
在高并发场景里,会带来两个问题
- 写AOF和RDB会造成Redis性能抖动
- Redis集群数据同步和实例恢复时,读RDB比较慢,限制了同步和恢复速度
解决方案
- 使用非意失内存NVM
- 既能保证高速的读写,又能快速持久化数据
Redis坑
- CPU使用上的“坑”
- 数据结构的复杂度、跨CPU核的访问
- 内存使用上的“坑”
- 主从同步和AOF的内存竞争
- 存储持久化上的“坑”
- 在SSD上做快照的性能抖动
- 网络通信上的“坑”
- 多实例时多异常网络丢包
两大维度,三大主线
- 两大维度
- 系统维度
- run-to-complete模型
- epoll网络模型
- 应用维度
- 应用场景驱动(“面”的梳理)
- 缓存和集群是Redis两大广泛的应用场景
- 缓存机制
- 缓存替换
- 缓存异常
- 缓存和集群是Redis两大广泛的应用场景
- 典型案例驱动(“点”的掌握)
- 应用场景驱动(“面”的梳理)
- 系统维度
- 三大主线(三高)
- 高性能
- 线程模型、数据结构、持久化、网络框架
- 高可靠
- 主从复制、哨兵机制
- 高可扩展
- 数据分片、负载均衡
- 高性能