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持久化_第1张图片

持久化的实现方式

快照
Redis从入门到高可用分布式实践5持久化_第2张图片

5-3 RDB(1)

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

什么是RDB

Redis从入门到高可用分布式实践5持久化_第3张图片
复制媒介

触发机制-主要三种方式

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

save(同步)

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

bgsave(异步)

生成子进程去完成RDB的生成
Redis从入门到高可用分布式实践5持久化_第7张图片
Redis从入门到高可用分布式实践5持久化_第8张图片
重的操作是由子进程完成的
Redis从入门到高可用分布式实践5持久化_第9张图片

save vs bgsave

Redis从入门到高可用分布式实践5持久化_第10张图片

自动

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

最佳配置
Redis从入门到高可用分布式实践5持久化_第13张图片

5-4 RDB(2)

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

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

试验

Redis从入门到高可用分布式实践5持久化_第14张图片
Redis从入门到高可用分布式实践5持久化_第15张图片
在这里插入图片描述
Redis从入门到高可用分布式实践5持久化_第16张图片
在这里插入图片描述
Redis从入门到高可用分布式实践5持久化_第17张图片
在这里插入图片描述
Redis从入门到高可用分布式实践5持久化_第18张图片
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Redis从入门到高可用分布式实践5持久化_第19张图片
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Redis从入门到高可用分布式实践5持久化_第20张图片
Redis从入门到高可用分布式实践5持久化_第21张图片
第二个窗口
Redis从入门到高可用分布式实践5持久化_第22张图片
第一个窗口
Redis从入门到高可用分布式实践5持久化_第23张图片
第二个窗口
因为是处于阻塞状态,这个get只能在save完全执行完毕后才能显示出来
Redis从入门到高可用分布式实践5持久化_第24张图片
第一个窗口
Redis从入门到高可用分布式实践5持久化_第25张图片

验证bgsave
第二个窗口
Redis从入门到高可用分布式实践5持久化_第26张图片
在这里插入图片描述
Redis从入门到高可用分布式实践5持久化_第27张图片
在这里插入图片描述
Redis从入门到高可用分布式实践5持久化_第28张图片
第一个窗口
Redis从入门到高可用分布式实践5持久化_第29张图片
发现不是阻塞模式的,因为第二个窗口中在bgsave没有执行完之前就已经返回了结果
第二个窗口
Redis从入门到高可用分布式实践5持久化_第30张图片
验证是否真正的由子进程生成
第一个窗口
Redis从入门到高可用分布式实践5持久化_第31张图片
第二个窗口
Redis从入门到高可用分布式实践5持久化_第32张图片

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

5-5 RDB(3)

Redis从入门到高可用分布式实践5持久化_第35张图片
Redis从入门到高可用分布式实践5持久化_第36张图片
Redis从入门到高可用分布式实践5持久化_第37张图片

Redis从入门到高可用分布式实践5持久化_第38张图片
Redis从入门到高可用分布式实践5持久化_第39张图片
Redis从入门到高可用分布式实践5持久化_第40张图片
Redis从入门到高可用分布式实践5持久化_第41张图片
在这里插入图片描述
Redis从入门到高可用分布式实践5持久化_第42张图片
Redis从入门到高可用分布式实践5持久化_第43张图片
在这里插入图片描述

RDB总结

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

5-6 AOF(1)

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

RDB现存问题

Redis从入门到高可用分布式实践5持久化_第45张图片
Redis从入门到高可用分布式实践5持久化_第46张图片
Redis从入门到高可用分布式实践5持久化_第47张图片

什么是AOF

Redis从入门到高可用分布式实践5持久化_第48张图片
Redis从入门到高可用分布式实践5持久化_第49张图片

AOF的三种策略

always everysec no

always

Redis从入门到高可用分布式实践5持久化_第50张图片
每条命令

everysec

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

no

Redis从入门到高可用分布式实践5持久化_第52张图片

三种策略比较

Redis从入门到高可用分布式实践5持久化_第53张图片

5-7 AOF(2)

AOF重写

AOF文件会逐步变大
Redis从入门到高可用分布式实践5持久化_第54张图片
把一些过期的、可以优化的进行简化
Redis从入门到高可用分布式实践5持久化_第55张图片
Redis从入门到高可用分布式实践5持久化_第56张图片
Redis从入门到高可用分布式实践5持久化_第57张图片
Redis从入门到高可用分布式实践5持久化_第58张图片
Redis从入门到高可用分布式实践5持久化_第59张图片
Redis从入门到高可用分布式实践5持久化_第60张图片
Redis从入门到高可用分布式实践5持久化_第61张图片

5-8 AOF实验

Redis从入门到高可用分布式实践5持久化_第62张图片
Redis从入门到高可用分布式实践5持久化_第63张图片
Redis从入门到高可用分布式实践5持久化_第64张图片
Redis从入门到高可用分布式实践5持久化_第65张图片
Redis从入门到高可用分布式实践5持久化_第66张图片
Redis从入门到高可用分布式实践5持久化_第67张图片
Redis从入门到高可用分布式实践5持久化_第68张图片
Redis从入门到高可用分布式实践5持久化_第69张图片
每条命令都会被记录在这里
Redis从入门到高可用分布式实践5持久化_第70张图片
Redis从入门到高可用分布式实践5持久化_第71张图片
Redis从入门到高可用分布式实践5持久化_第72张图片
Redis从入门到高可用分布式实践5持久化_第73张图片
Redis从入门到高可用分布式实践5持久化_第74张图片
Redis从入门到高可用分布式实践5持久化_第75张图片
Redis从入门到高可用分布式实践5持久化_第76张图片

5-9 RDB和AOF抉择

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

RDB和AOF比较

Redis从入门到高可用分布式实践5持久化_第77张图片

AOF最佳策略

Redis从入门到高可用分布式实践5持久化_第78张图片

RDB最佳策略

Redis从入门到高可用分布式实践5持久化_第79张图片

最佳策略

Redis从入门到高可用分布式实践5持久化_第80张图片

你可能感兴趣的:(redis)