一段简单的配置如下:
// 可能注释对不上,我瞎写的
appendonly no // 是否使用AOF持久化
appendfsync everysec // 多久执行一次AOF压缩
no-appendfsync-no-rewrite no // 在对AOF进行压缩的时候能否执行同步操作
auto-aof-rewrite-percentage 100 // 多久才将写入的内容同步到硬盘
auto-aof-rewrite-min-size 64mb //
dir ./
可以显示地发送BGREWRITEAOF命令,这个命令会通过移除AOF文件中的冗余来重写AOF文件,使AOF文件的体积变得尽可能小。
额,这块我有点不理解,为什么是用一个子进行来处理AOF的文件,不如直接开一个线程来处理,这样可以避免进程空间的复制。
appendfsync选项及同步频率
always:每个Redis写命令都要不同写入硬盘。这样做会严重降低Redis速度。
everysec:每秒执行一次同步,显示地将多个写命令同步到硬盘。
no:让操作系统来决定应该何时进行同步。
设置BGREWRITEAOF
// 当AOF文件的体积大于64MB时进行BGREWRITEAOF。
auto-aof-rewrite-percentage 100
// 当AOF文件比上一次重写之后的体积大了至少一倍(100%)时,执行BGREWRITEAOF。
auto-aof-rewrite-min-size 64mb