CONFIG REWRITE

语法
CONFIG REWRITE
可用版本
2.8.0
时间复杂度
O(1)
ACL 类别
@admin, @slow, @dangerous,

CONFIG REWRITE 命令重写服务器启动时使用的 redis.conf 文件,应用最小的更改使其反映服务器当前使用的配置,这可能与原始配置不同,因为使用了 CONFIG SET 命令。

重写以非常保守的方式执行。

  • 尽可能保留原始 redis.conf 的注释和整体结构。
  • 如果旧的 redis.conf 文件中已存在选项,它将以相同的位置(行号)被重写。
  • 如果选项之前不存在,但设置为默认值,则重写过程不会添加它。
  • 如果选项之前不存在,但设置为非默认值,则会将其追加到文件末尾。
  • 未使用的行将被清空。例如,如果您以前有多个 save 指令,但当前配置较少或没有(因为您禁用了 RDB 持久性),则所有这些行都将被清空。

CONFIG REWRITE 还能够从头开始重写配置文件,如果原始文件由于某种原因不再存在。但是,如果服务器根本没有配置文件启动,CONFIG REWRITE 只是返回错误。

原子重写过程

为了确保 redis.conf 文件始终一致,也就是说,在发生错误或崩溃时,您始终会得到旧文件或新文件,重写通过单个 write(2) 调用执行,该调用具有足够的内容至少与旧文件一样大。有时,会添加以注释形式的额外填充以确保结果文件足够大,然后文件会被截断以删除结尾的填充。

RESP2/RESP3 回复

简单字符串回复: 如果配置被正确重写,则为 OK。否则,返回错误。
RATE THIS PAGE
Back to top ↑