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所有数据保持在内存中,对数据的更新将异步的保存到磁盘上。
持久化的实现方式
快照
5-3 RDB(1)
什么是RDB 触发机制-主要三种方式 触发机制-不容忽略的方式 试验
什么是RDB
复制媒介
触发机制-主要三种方式
save(同步)
bgsave(异步)
自动
save(同步)
同步命令,将数据进行完整的拷贝的话可能会阻塞
bgsave(异步)
生成子进程去完成RDB的生成
重的操作是由子进程完成的
save vs bgsave
自动
文件的名字
存在目录
bgsave出现问题停止写入
采用压缩格式
自动校验和检验
最佳配置
5-4 RDB(2)
触发机制-不容忽略的方式
1.全量复制
主从复制的时候,主会自动生成RDB文件
2.debug reload
不需要将内存清空的重启也会触发RDB的生成
3.shutdown
试验
第二个窗口
第一个窗口
第二个窗口
因为是处于阻塞状态,这个get只能在save完全执行完毕后才能显示出来
第一个窗口
验证bgsave
第二个窗口
第一个窗口
发现不是阻塞模式的,因为第二个窗口中在bgsave没有执行完之前就已经返回了结果
第二个窗口
验证是否真正的由子进程生成
第一个窗口
第二个窗口
验证文件的生成策略
验证了三点:1它是非阻塞的2它生成了子进程3文件生成的策略
5-5 RDB(3)
RDB总结
1.RDB是Redis内存到硬盘的快照,用于持久化
2.
5-6 AOF(1)
RDB现存问题 什么是AOF AOF的三种策略 AOF重写
RDB现存问题
什么是AOF
AOF的三种策略
always everysec no
always
每条命令
everysec
每秒
如果出现故障,有可能会丢失1秒的数据
默认值
no
三种策略比较
5-7 AOF(2)
AOF重写
AOF文件会逐步变大
把一些过期的、可以优化的进行简化
5-8 AOF实验
每条命令都会被记录在这里
5-9 RDB和AOF抉择
RDB和AOF比较 AOF最佳策略 RDB最佳策略 最佳策略