暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Redis持久化方式AOF的rewrite命令

1490

背景

在上一篇介绍AOF的文章中可以知道,AOF持久化配置中每条写命令都会被记录到aof文件中,如果一个用户执行了set name jack命令一百万 次,或者set/delete操作交替执行了若干次,那么aof文件将变得特别大,并且有很多无效冗余的命令。


rewrite重写操作介绍

    通过重写aof文件,可以只保留aof文件中最新的数据,消除冗余数据,降低aof文件的大小。


手动触发 

    直接调用bgrewriteaof命令 

自动触发【只有达到了下面的参数条件就会自动执行aof的rewrite操作】

    auto-aof-rewrite-min-size参数 

        表示运行AOF重写时文件最小体积,默认为64MB。

    auto-aof-rewrite-percentage参数 

        代表当前AOF文件空间和上一次重写后AOF文件空间(aof_base_size)的比值。


自动触发的redis.conf配置文件

    # 是否开启aof
    appendonly yes
    # 文件名称
    appendfilename "appendonly.aof"
    # 同步方式
    appendfsync everysec
    # aof重写期间是否同步
    no-appendfsync-on-rewrite no
    # 重写触发的条件
    auto-aof-rewrite-percentage 100
    auto-aof-rewrite-min-size 64mb


    # 加载aof时如果有错如何处理
    # yes表示如果aof尾部文件出问题,写log记录并继续执行。no表示提示写入等待修复后写入
    aof-load-truncated yes
    复制


    文章转载自梁霖编程工具库,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

    评论