背景
在上一篇介绍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配置文件
# 是否开启aofappendonly yes# 文件名称appendfilename "appendonly.aof"# 同步方式appendfsync everysec# aof重写期间是否同步no-appendfsync-on-rewrite no# 重写触发的条件auto-aof-rewrite-percentage 100auto-aof-rewrite-min-size 64mb# 加载aof时如果有错如何处理# yes表示如果aof尾部文件出问题,写log记录并继续执行。no表示提示写入等待修复后写入aof-load-truncated yes
文章转载自梁霖编程工具库,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




