©
本文档使用
php.cn手册 发布
CONFIG REWRITE
自2.8.0起可用。
CONFIG REWRITE 命令重写redis.conf
服务器启动时使用的文件,应用所需的最小更改,以使其反映服务器当前使用的配置,由于使用 CONFIG SET 命令,与原始配置相比可能会有所不同。
重写以非常保守的方式执行:
尽可能保留原始 redis.conf 的注释和整体结构。
如果旧的 redis.conf 文件中已经存在一个选项,它将被重写在相同的位置(行号)。
如果某个选项尚不存在,但它被设置为其默认值,则不会通过重写过程添加该选项。
如果某个选项尚不存在,但它被设置为非默认值,则会将其添加到文件末尾。
未使用的行空白。例如,如果您曾经有过多个save
指令,但由于您禁用 RDB 持久性,当前配置较少或没有,因此所有行将被清空。
如果由于某种原因原来的配置文件不再存在,CONFIG REWRITE 也可以从头重写配置文件。但是,如果服务器根本没有配置文件启动,那么 CONFIG REWRITE 只会返回一个错误。
为了确保 redis.conf 文件始终保持一致,即在发生错误或崩溃时始终以旧文件或新文件结尾,重写将使用一次write(2)
调用来执行,该调用的内容足以满足至少与旧文件一样大。有时会添加注释形式的附加填充以确保生成的文件足够大,并且稍后会截断文件以删除末尾的填充。
简单的字符串回复:OK
当配置被正确地重写时。否则会返回错误。