BGREWRITEAOF

Syntax
BGREWRITEAOF
Available since:
1.0.0
Time complexity:
O(1)
ACL categories:
@admin, @slow, @dangerous,

指示Redis启动一个Append Only File重写过程。 重写将创建一个当前Append Only文件的小型优化版本。

如果BGREWRITEAOF失败,不会丢失任何数据,因为旧的AOF文件将保持不变。

只有在没有后台进程正在进行持久化的情况下,Redis 才会触发重写。

具体来说:

  • 如果 Redis 子进程正在磁盘上创建快照,AOF 重写会被安排,但在生成 RDB 文件的保存子进程终止之前不会开始。在这种情况下,BGREWRITEAOF 仍然会返回一个肯定的状态回复,但会附带一个适当的消息。你可以通过查看 Redis 2.6 或更高版本中的 INFO 命令来检查是否安排了 AOF 重写。
  • 如果AOF重写已经在进行中,该命令将返回一个错误,并且不会安排稍后的AOF重写。
  • 如果AOF重写可以开始,但尝试启动失败(例如由于创建子进程时出错),则向调用者返回错误。

自 Redis 2.4 起,AOF 重写由 Redis 自动触发,但可以使用 BGREWRITEAOF 命令随时触发重写。

请参阅持久化文档以获取详细信息。

RESP2 回复

Simple string reply: 一个简单的字符串回复,表示当调用成功执行时,重写已经开始或即将尽快开始。

在某些情况下,命令可能会返回错误,如上文所述。

RESP3 回复

Bulk string reply: 一个简单的字符串回复,表示当调用成功执行时,重写已经开始或即将尽快开始。

在某些情况下,命令可能会返回错误,如上文所述。


RATE THIS PAGE
Back to top ↑