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: 一个简单的字符串回复,表示当调用成功执行时,重写已经开始或即将尽快开始。
在某些情况下,命令可能会返回错误,如上文所述。