1. 使用AOF持久化,aof文件过大

Redis的AOF机制,会将所有的写命令按照一定频率(no, always, every seconds)写入到日志文件中,当Redis停机重启后从日志文件中恢复数据。

但是,当用的时间长了,这个文件会越来越大,使用BGREWRITEAOF命令对redis的AOF进行重写。

AOF重写:

  1. 随着AOF文件越来越大,里面会有大部分是重复命令或者可以合并的命令(100次incr = set key 100)
  2. 重写的好处:减少AOF日志尺寸,减少内存占用,加快数据库恢复时间。

使用 Redis 3.2.9,未重写前,日志文件大小:
image.png

  1. $ docker exec -it redis-6379 bash
  2. root@1ff606aa6ad6:/data# redis-cli
  3. 127.0.0.1:6379> auth yourpassword
  4. OK
  5. 127.0.0.1:6379> BGREWRITEAOF
  6. Background append only file rewriting started

过一会,重写完成后:
image.png
可以看到日志文件大大的缩小了。