redis持久化AOF之rewrite重写
-
rewrite重写介绍
- AOF文件越来越大,需要定期对AOF文件进行重写达到压缩
- 旧的AOF文件含有无效命令会被忽略,保留最新的数据命令
- 多条写命令可以合并为一个
- AOF重写降低了文件占用空间
- 更小的AOF文件可以更快的被redis加载
-
重写触发配置
- 手动触发
- 直接调用bgrewriteaof命令
- 自动触发
- auto-aof-rewrite-min-size:AOF文件最小重写大小,只有当AOF文件大小大于该值时候才能重写,6.x版本默认配置64MB
- auto-aof-rewrite-percentage:当前AOF文件大小和最后一次重写后的大小之间的比率等于或者大于指定的增长百分比,如100代表当前AOF文件是上次重写的两倍时候才重写
- 手动触发
-
常用配置
# 任何ip都可以访问 bind 0.0.0.0 # 守护进程 daemonize yes # 密码 requirepass 123456 # 日志文件 logfile "/usr/local/redis/log/redis.log" # 持久化文件名称 dbfilename redis.rdb # 持久化文件存储路径 dir /usr/local/redis/data # 持久化策略,10秒内有1个key改动,执行快照 save 10 1 # 导出rdb数据库文件压缩字符串和对象,默认是yes,会浪费CPU但是节省空间 rdbcompression yes # 导入时是否检查 rdbchecksum yes # 开启AOF appendonly yes # AOF文件名称 appendfilename "appendonly.aof" # AOF同步方式 everysec 每秒同步 appendfsync everysec # AOF重写期间是否同步 no-appendfsync-on-rewrite no # 重写触发配置 auto-aof-rewrite-min-size 64mb auto-aof-rewrite-percentage 100 # 加载AOF时如果有错如何处理;yes表示如果aof尾部文件出问题,写log记录并继续执行;no表示提示写入等待修复后写入 aof-load-truncated yes