介紹
Redis是一個開源的、內存中的鍵值數據存儲庫。Redis具有多個命令,允許您在運行時更改Redis服務器的配置設置。本教程將討論其中一些命令,並解釋如何使這些配置更改永久生效。
如何使用本指南
本指南被撰寫為一份包含自包含示例的速查表。我們鼓勵您跳到任何與您正在完成的任務相關的部分。
本指南中顯示的命令是在運行Redis版本6.0.16的Ubuntu 22.04服務器上進行測試的。要設置類似的環境,您可以遵循我們的指南的第1步,該指南是關於在Ubuntu 22.04上安裝和保護Redis的。我們將通過使用redis-cli
,即Redis命令行界面來展示這些命令的行為。如果您使用的是不同的Redis界面 — 例如Redli — 某些命令的確切輸出可能會有所不同。
或者,您可以提供一個托管的 Redis 數據庫實例來測試這些命令,但根據您的數據庫提供商允許的控制級別而定,本指南中的某些命令可能無法按照描述的方式工作。要提供 DigitalOcean 托管的數據庫,請參閱我們的托管數據庫產品文檔。然後,您必須安裝 Redli或者設置一個 TLS 隧道以便通過 TLS 連接到托管的數據庫。
請注意,托管的 Redis 數據庫通常不允許用戶更改配置文件。如果您正在使用 DigitalOcean 的托管數據庫,本指南中概述的命令將導致錯誤。
更改 Redis 的配置
本節中概述的命令將僅在當前會話的持續時間內或直到運行config rewrite
為止更改 Redis 服務器的行為,從而使它們永久生效。您可以直接通過打開並使用您喜歡的文本編輯器編輯 Redis 配置文件。例如,您可以使用nano
進行編輯:
- sudo nano /etc/redis/redis.conf
警告: config set
命令被認為是危險的。通過更改你的 Redis 配置文件,可能會導致你的 Redis 服務器表現出意外或不希望的行為。我們建議只有在測試其行為或您絕對確定要更改 Redis 配置時才運行 config set
命令。
將此命令重新命名為較不可能意外運行的名稱可能符合你的利益。
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 的行為。在運行 config-set
命令後編輯 redis.conf
,並將當前會話的配置變為永久的,請運行 config rewrite
:
- config rewrite
此命令優先保留原始 redis.conf
文件的註釋和整體結構,只對與服務器當前使用的設置相匹配的部分進行最小更改。
與 config set
一樣,如果重寫成功,config rewrite
將返回 OK
。
檢查 Redis 的配置
要讀取 Redis 服務器的當前配置參數,請運行 config get
命令。config get
接受一個參數,可以是 redis.conf
中使用的參數的完全匹配,或者是一個 glob 模式。例如:
- 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 get *
返回 config set
支持的所有配置參數。
結論
本指南詳細介紹了用於修改 Redis 伺服器配置文件的 redis-cli
命令。如果您在本指南中想了解其他相關命令、參數或程序,請在評論中提問或提出建議。
有關 Redis 命令的更多信息,請查看我們的教程系列:如何管理 Redis 資料庫。
Source:
https://www.digitalocean.com/community/cheatsheets/how-to-change-redis-configuration