redis的AOF持久化配置

1.AOF持久化配置

AOF持久化,默认是关闭的,默认打开的持久化配置是RDB

在redis.config配置appendonly yes ,可以打开AOF持久化

在生产环境中,一般来说AOF是要打开的,除非对一两分钟

没有影响。

        打开AOF机制之后,redis没收到一次写命令,就会写入到

日志文件中,当然现写入到OS cache 中,然后每隔一定的时间

在fsync一下,把命令写入到磁盘 中。

       如果AOF和RDB都开启了,redis 重启的时候,会优先通过

AOF进行数据恢复的,因为AOF数据比较完整。

 

     AOF有三种fsync策略:

always:每次写入一条数据,立即将这个数据fsync写到磁盘上去(性能很差)

everysec:每秒将os cache内存中的数据fsync到磁盘(生产环境使用这个策略,QPS能达到上万)

no : 仅仅将数据写入到os cache就撒手不管了,os 会根据自己的策略把数据写入到磁盘,不可控

 

AOF的rewrite,redis中的数据是有限的,很多数据会自动过期,也可能会被用户删掉,可能会被redis用缓存清楚的算法清楚掉。

AOF会自动每隔一定的时间,做rewrite操作。

rewrite过程:


(1)redis fork一个子进程
(2)子进程基于当前内存中的数据,构建日志,开始往一个新的临时的AOF文件中写入日志
(3)redis主进程,接收到client新的写操作之后,在内存中写入日志,同时新的日志也继续写入旧的AOF文件
(4)子进程写完新的日志文件之后,redis主进程将内存中的新日志再次追加到新的AOF文件中
(5)用新的日志文件替换掉旧的日志文件

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值