Redis中AOF持久化

简介
AOF通过保存Redis中写操作的命令来记录数据状态

优点
丢失数据少,4.0以后的版本AOF包含RDB的全量数据与新的写操作的记录

弊端
体量无限变大,恢复慢

配置
将redis.conf中appendonly设置为yes就算开启AOF,AOF和RDB可同时开启,如果开启了AOF只会用AOF恢复

appendonly yes

启动redis时,下列日志表示从AOF加载数据

DB loaded from append only file: 0.000 seconds

随着Redis写操作不断变多,AOF文件也会越来越大,恢复越来越慢。为了解决这个问题,Redis新增了重写的机制,Redis通过调用bgrewriteaof可以对日志文件进行重写。
①4.0以前重写是删除抵消命令合并重复命令
②4.0以后重写是将老数据RDB到AOF文件中,增量数据以指令的方式Append到AOF中,优势是利用了RDB的快与AOF的全

例如以下AOF文件,第一行是RDB,后面是AOF增量数据的指令
AOF
AOF自动重写配置
auto-aof-rewrite-percentage 默认值为100。当AOF文件超过上次重写的百分之多少时进行重写
auto-aof-rewrite-min-size 默认值为64mb。AOF文件达到多大才会重写

AOF持久化策略的配置appendfsync
appendfsync配置,可取always、everysec、no
设置为no时,不会调用fsync,是由操作系统自动调度刷磁盘,效率是最好的,但也是丢失数据最多的。
设置为always时,每次执行写操作都会调用fsync,是数据保存最全的,但效率慢,因为每次需要fsync。
设置为everysec是最多每一秒调用一次fsync,最多可能丢失一秒的数据,兼顾了效率与安全性。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值