如何通過命令行修改redis的配置

如何通過命令行修改redis的配置

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教程

以上就是如何通過命令行修改

? 版權聲明
THE END
喜歡就支持一下吧
點贊10 分享