Redis有幾個命令,可讓您即時變更Redis伺服器的設定值。本教學將介紹其中一些命令,並說明如何使這些組態變更永久生效。
如何使用本指南
本指南以備有完整範例的備忘單形式撰寫。我們鼓勵您跳至與您要完成的任務相關的任何部分。
本指南中顯示的命令已在執行Redis版本4.0.9的Ubuntu 18.04伺服器上進行了測試。要設定類似的環境,您可以按照我們的指南如何在Ubuntu 18.04上安裝和保護Redis的步驟1進行操作。我們將透過使用Redis命令列介面運行它們來演示這些命令的行為。請注意,如果您使用其他Redis介面(例如Redli),則某些命令的確切輸出可能會有所不同。
請注意,託管Redis資料庫通常不允許使用者更改設定檔。如果您正在使用DigitalOcean的託管資料庫,則本指南中概述的命令將導致錯誤。
更改Redis的配置
本節中概述的命令將僅在當前會話期間或直到您運行之前更改Redis伺服器的行為,config rewrite這將使它們永久化。您可以透過使用首選文字編輯器開啟和編輯Redis設定檔來直接變更它。例如,您可以nano這樣做:
sudo nano /etc/redis/redis.conf
警告:該config set命令被認為是危險的。透過更改Redis設定文件,有可能導致Redis伺服器以意外或不良方式運作。我們建議僅在config set測試命令的行為或絕對確定要對Redis配置進行更改時才執行該命令。
您可能希望將此命令重新命名為不太可能意外運行的命令。
config set可讓您在執行時重新配置Redis,而無需重新啟動服務。它使用以下語法:
config set parameter value
例如,如果要更改執行save命令後Redis將產生的資料庫轉儲檔案的名稱,則可以執行以下命令:
config set "dbfilename" "new_file.rdb"
如果配置變更有效,則命令將返回OK。否則將傳回錯誤。
注意:並非redis.conf檔案中的每個參數都可以透過config set操作來更改。例如,您不能變更requirepass參數定義的驗證密碼。
永久進行設定更改
config set不會永久更改Redis實例的設定檔;它僅在執行時更改Redis的行為。要redis.conf在運行config-set命令後進行編輯並使當前會話的配置永久化,請執行config rewrite:
config rewrite
此命令將盡最大努力保留原始redis.conf檔案的註解和整體結構,而只需進行最小的更改即可匹配伺服器目前使用的設定。
就像config set,如果重寫成功config rewrite將回傳OK。
檢查Redis的設定
要讀取Redis伺服器的目前設定參數,請執行config get指令。 config get只有一個參數,可以是在使用的參數中的任一個完全匹配redis.conf或水珠圖案)。例如:
config get repl*
根據您的Redis配置,此命令可能會傳回:
Output 1) "repl-ping-slave-period" 2) "10" 3) "repl-timeout" 4) "60" 5) "repl-backlog-size" 6) "1048576" 7) "repl-backlog-ttl" 8) "3600" 9) "repl-diskless-sync-delay"10) "5"11) "repl-disable-tcp-nodelay"12) "no"13) "repl-diskless-sync"14) "no"
您也可以config set透過執行傳回所有支援的配置參數config get *。
相關參考:Redis教學
以上是如何透過命令列修改redis的配置的詳細內容。更多資訊請關注PHP中文網其他相關文章!