?
This document uses PHP Chinese website manual Release
CONFIG REWRITE
自2.8.0起可用。
CONFIG REWRITE 命令重寫redis.conf
服務(wù)器啟動時(shí)使用的文件,應(yīng)用所需的最小更改,以使其反映服務(wù)器當(dāng)前使用的配置,由于使用 CONFIG SET 命令,與原始配置相比可能會有所不同。
重寫以非常保守的方式執(zhí)行:
盡可能保留原始 redis.conf 的注釋和整體結(jié)構(gòu)。
如果舊的 redis.conf 文件中已經(jīng)存在一個(gè)選項(xiàng),它將被重寫在相同的位置(行號)。
如果某個(gè)選項(xiàng)尚不存在,但它被設(shè)置為其默認(rèn)值,則不會通過重寫過程添加該選項(xiàng)。
如果某個(gè)選項(xiàng)尚不存在,但它被設(shè)置為非默認(rèn)值,則會將其添加到文件末尾。
未使用的行空白。例如,如果您曾經(jīng)有過多個(gè)save
指令,但由于您禁用 RDB 持久性,當(dāng)前配置較少或沒有,因此所有行將被清空。
如果由于某種原因原來的配置文件不再存在,CONFIG REWRITE 也可以從頭重寫配置文件。但是,如果服務(wù)器根本沒有配置文件啟動,那么 CONFIG REWRITE 只會返回一個(gè)錯(cuò)誤。
為了確保 redis.conf 文件始終保持一致,即在發(fā)生錯(cuò)誤或崩潰時(shí)始終以舊文件或新文件結(jié)尾,重寫將使用一次write(2)
調(diào)用來執(zhí)行,該調(diào)用的內(nèi)容足以滿足至少與舊文件一樣大。有時(shí)會添加注釋形式的附加填充以確保生成的文件足夠大,并且稍后會截?cái)辔募詣h除末尾的填充。
簡單的字符串回復(fù):OK
當(dāng)配置被正確地重寫時(shí)。否則會返回錯(cuò)誤。