Redis从入门到高可用分布式实践5持久化

第5章 Redis持久化的取舍和选择
Redis的持久化功能有效避免因进程退出造成的数据丢失问题,本章将介绍介绍RDB和AOF两种持久化配置和运行流程,以及选择策略
5-1 目录
5-2 持久化的作用
5-3 RDB(1)
5-4 RDB(2)
5-5 RDB(3)
5-6 AOF(1)
5-7 AOF(2)
5-8 AOF实验
5-9 RDB和AOF抉择

5-1 目录

5-2 持久化的作用

什么是持久化 持久化的实现方式

什么是持久化

redis所有数据保持在内存中,对数据的更新将异步的保存到磁盘上。
Redis从入门到高可用分布式实践5持久化

持久化的实现方式

快照
Redis从入门到高可用分布式实践5持久化

5-3 RDB(1)

什么是RDB 触发机制-主要三种方式 触发机制-不容忽略的方式 试验

什么是RDB

Redis从入门到高可用分布式实践5持久化
复制媒介

触发机制-主要三种方式

save(同步)
bgsave(异步)
自动

save(同步)

Redis从入门到高可用分布式实践5持久化
同步命令,将数据进行完整的拷贝的话可能会阻塞
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化

bgsave(异步)

生成子进程去完成RDB的生成
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
重的操作是由子进程完成的
Redis从入门到高可用分布式实践5持久化

save vs bgsave

Redis从入门到高可用分布式实践5持久化

自动

Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
文件的名字
存在目录
bgsave出现问题停止写入
采用压缩格式
自动校验和检验

最佳配置
Redis从入门到高可用分布式实践5持久化

5-4 RDB(2)

触发机制-不容忽略的方式

1.全量复制
主从复制的时候,主会自动生成RDB文件
2.debug reload
不需要将内存清空的重启也会触发RDB的生成
3.shutdown

试验

Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
第二个窗口
Redis从入门到高可用分布式实践5持久化
第一个窗口
Redis从入门到高可用分布式实践5持久化
第二个窗口
因为是处于阻塞状态,这个get只能在save完全执行完毕后才能显示出来
Redis从入门到高可用分布式实践5持久化
第一个窗口
Redis从入门到高可用分布式实践5持久化

验证bgsave
第二个窗口
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
第一个窗口
Redis从入门到高可用分布式实践5持久化
发现不是阻塞模式的,因为第二个窗口中在bgsave没有执行完之前就已经返回了结果
第二个窗口
Redis从入门到高可用分布式实践5持久化
验证是否真正的由子进程生成
第一个窗口
Redis从入门到高可用分布式实践5持久化
第二个窗口
Redis从入门到高可用分布式实践5持久化

验证文件的生成策略
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
验证了三点:1它是非阻塞的2它生成了子进程3文件生成的策略

5-5 RDB(3)

Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化

Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化

RDB总结

1.RDB是Redis内存到硬盘的快照,用于持久化
2.
Redis从入门到高可用分布式实践5持久化

5-6 AOF(1)

RDB现存问题 什么是AOF AOF的三种策略 AOF重写

RDB现存问题

Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化

什么是AOF

Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化

AOF的三种策略

always everysec no

always

Redis从入门到高可用分布式实践5持久化
每条命令

everysec

Redis从入门到高可用分布式实践5持久化
每秒
如果出现故障,有可能会丢失1秒的数据
默认值

no

Redis从入门到高可用分布式实践5持久化

三种策略比较

Redis从入门到高可用分布式实践5持久化

5-7 AOF(2)

AOF重写

AOF文件会逐步变大
Redis从入门到高可用分布式实践5持久化
把一些过期的、可以优化的进行简化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化

5-8 AOF实验

Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
每条命令都会被记录在这里
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化
Redis从入门到高可用分布式实践5持久化

5-9 RDB和AOF抉择

RDB和AOF比较 AOF最佳策略 RDB最佳策略 最佳策略

RDB和AOF比较

Redis从入门到高可用分布式实践5持久化

AOF最佳策略

Redis从入门到高可用分布式实践5持久化

RDB最佳策略

Redis从入门到高可用分布式实践5持久化

最佳策略

Redis从入门到高可用分布式实践5持久化