aof 持久化知识点

  1. redis接受请求、处理请求、aof持久化是一个同步操作;并非异步操作(redis每次修改命令,会将持久化命令写到缓冲区里面;等达到落盘条件之后;从缓冲区进行落盘操作)
  2. 如果配置每次操作落盘,则会影响redis性能;
  3. aof的rewriteaof操作,则会在重写aof持久化文件;(命令的重复去重操作)
  4. redis4.0以后 aof持久化文件里面包含rdb的二进制流后面追踪的是aof操作
  5. redis4.0以后的rewriteAof  是一个异步的操作(知识fork一个子进程是阻塞操作,但耗时很短)。先进行rdb备份,然后再从aof缓冲区里面进行aof操作备份;最后进行文件的替换
  6. redis备份重启恢复,优先进行aof文件的恢复,如果没有aof,则查找rdb文件;4.0版本后的混合备份文件,则显示为aof文件,优先进行恢复;
  7. rewrite触发条件:
    1、手动触发  、bgrewriteaof命令
    
    2、自动触发    最小文件大小配置;如果aof文件大小大于等于此配置大小则重写aof
                  当前aof文件大小与最后一次重写完成的文件大小比率大于配置值,则重写aof
    

     

  8.  

    rewrite步骤

     
    1、如果bgsave/bgrewriteaof   或者fork正在运行,则不运行
    
    2、如果只有当前一个进程在运行;则首先fork一个子线程 fork线程的时候是阻塞的;
    
    3、fork完成之后,阻塞操作结束;异步进行rdb文件持久化;rdb持久化完成,通知主线程已经完成
    
    4、然后将aof缓存区的数据进行写入到aof文件中去
    
    5、写入完成之后,通知主线程已经完成;然后进行aof文件的覆盖

     

     

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值