【ROF持久化】Redis之ROF开启与修复&&和RDB使用建议

ROF概述

Redis–AOF(重启后是默认先载入AOF,因为数据更完整)

  • 保存过程:父进程fork一个子进程,以日志形式将所有指令记录下来(读操作不记录),然后将数据只追加不改写到AOF文件,然后替换上次的AOF文件

  • 触发条件:appendfsync always/everysec/no 命令

always文件保存的完整性最好,everysec可能会丢失一秒数据

  • 适用场景:对恢复数据完整性要求严格

  • 重写场景:不断追加文件到一个阈值,则会重写aof文件

ROF 缺点

  1. 相比于rdb数据文件,aof里存的是写指令,要远远大于rdb
  2. aof由于存在io操作,因此运行速度也慢于rdb

综上,redis默认采用rdb,而非aof~~~

开启 ROF

  • 将appendonly改为yes
    在这里插入图片描述
    在这里插入图片描述

ROF 文件存放位置

config get dir

在这里插入图片描述

ROF 文件修复

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
/usr/local/bin目录下进行修复

redis-check-aof --fix /usr/local/redis/data/appendonly.aof

在这里插入图片描述
在这里插入图片描述

和RDB使用建议

RDB是在一定时间间隔内对数据进行快照存储,AOF记录每次对服务器的写操作,恢复时重新执行这些写操作(如果只想当缓存,数据只在服务器运行阶段使用,也可以不用持久化)

  1. 建议只在从机上持久话RDB,15分钟备份一次即可,即:执行save 900 1
  2. AOF丢失数据不会超过两秒,但是带来了持续的io(达64M时,会覆盖重写),而且AOF文件还存在bug的风险,AOF变化太快也不适合于备份
  3. RDB的一个不足就是:如果RDB主从机都宕机,那么就可能丢失十几分钟的数据(AOF可以解决这个问题,所以AOF也不是一点用都没用,按需决定)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值