Redis持久化操作—RDB、AOF

RDB

触发机制

在这里插入图片描述
在这里插入图片描述
触发机制的条件?
1.满足了save的条件,就会触发rdb规则
2.执行了flushall命令
3.退出redis

会创建一个名为dump.rdb的备份文件在redis服务的同级目录中
在这里插入图片描述

如何恢复rdb文件

只需要将rdb文件存放在redis启动目录下即可,redis启动会自动检查dump.rdb恢复其中的数据 (dump.rdb默认在当前目录下,不需要去管)

优缺点

优点:
1.适合大规模的数据恢复
2.对数据完整性要求不高
缺点:
1.需要一定时间间隔操作
2.会占用一定的内存空间

在生产环境下要进行备份

AOF

以日志的形式将所有的指令全部记录下来,读操作不记录。只能追加文件不能改写文件,redis在启动之前会读取该文件重构数据,也就是说,当重启redis时,会根据文件中记录的指令重新执行一遍来完成恢复工作。

使用aof需要去开启aof,因为在默认的条件下使用的是rdb作为持久化操作。
在这里插入图片描述

重启redis就会生效,产生一个appendonly.aof文件

在这里插入图片描述


如果aof的文件发生了错误,这时我们去启动redis是启动不了的,启动不了我们就要解决文件修复问题。 redis提供了一种工具叫 redis-check-aof

文件修复

使用命令修复
在这里插入图片描述
在这里插入图片描述
这个时候我们就将aof文件修复了。启动就可以正常运行。

优缺点
优点:
每次的修改都被同步到文件中,文件的完整性好
从同步的频率上来看,从不同步的效率比较高
在这里插入图片描述
缺点:
1.相对于数据文件来说,aof的文件大小远大于rdb文件,在大量数据的情况下修复的整体速度aof要比rdb慢。
2.在运行效率方面,aof要比rdb低,aof文件是一种IO读写方式的操作。


两者的区别?

RDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程是fork一个子进程,先将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩存储。
在这里插入图片描述

RDB持久化是指在指定的时间间隔内将内存中的数据集快照写入磁盘,实际操作过程是fork一个子进程,先将数据集写入临时文件,写入成功后,再替换之前的文件,用二进制压缩存储。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值