1. 程式人生 > >《Redis官方教程》-Redis的配置

《Redis官方教程》-Redis的配置

原文連結   譯者:   校對:方騰飛

Redis支援採用其內建預設配置的方式來進行啟動,而不需要提前配置任何檔案,但是這種啟動方式只推薦在測試和開發環境中使用。

更好的方式是通過提供一個Redis的配置檔案來對Redis進行配置, 這個配置檔案一般命名為’redis.conf’。

‘redis.conf’ 檔案中包含一系列格式非常簡單的配置項,如下所示:

keyword argument1 argument2 ... argumentN

簡單配置示例:

slaveof 127.0.0.1 6380 

如果說配置引數值中包含空格,則需要為其新增雙引號,如下所示:

requirepass "hello world"

所有這些配置項的列表,以及它們的意思和用法,都可以參考Redis發行版中的redis.conf自說明示例文件。

通過命令列傳遞引數

自Redis 2.6 開始,Redis就可以支援通過命令列來傳遞配置引數。這個功能對測試來說非常有用。
下面這個是例子是使用6380埠來啟動一個新的Redis例項,並且從例項在127.0.0.1的6379埠執行。

./redis-server --port 6380 --slaveof 127.0.0.1 6379

命令列傳遞引數的格式和在redis.conf檔案中配置引數的格式是一樣的, 唯一的不同之處是在命令列引數關鍵字前需要新增’–‘字首。

注意:採用這種方式,其內部會在記憶體中生成一個臨時的配置檔案(可能會把使用者傳遞的任意配置項都新增到配置檔案裡),傳遞的引數會轉換成redis.conf檔案的格式。

執行時改變Redis配置

Redis支援在執行時通過使用命令CONFIG SETCONFIG GET 來對配置項進行重新配置,以及通過程式設計來查詢Redis當前的配置項,設定和查詢不需要停止和重啟服務。

並不是所有的配置項都支援這種配置方式,但是大部分是支援的。具體的支援情況請參考:
CONFIG SETCONFIG GET

注意:執行時動態修改的配置項 不會影響redis.conf檔案中的配置,在下一次重啟時,又會恢復以前的配置。

如果通過CONFIG SET修改了某些配置項,還確定要同時修改’redis.conf’配置檔案中相對應的配置項。則需要你自己手動去修改,或者使用Redis 2.8。在Redis2.8 中,你只要使用

CONFIG REWRITE 來重寫引數項,將自動去掃描你的’redis.conf’檔案,如果發現配置的值和你要修改的值不匹配的話,則會將配置的值更新為新設定的值。如果對應的配置項不存在,則會設定為預設值而不是新新增的。配置檔案中的註釋將會被保留。

將Redis配置為快取

如果你計劃將Redis當作一個快取來使用,而且每一個key都需要有一個過期設定,你可以考慮使用如下的配置(示例中假設最大記憶體限制為2M):

maxmemory 2mb
maxmemory-policy allkeys-lru

在這個配置中,應用程式不需要再使用 ‘EXPIRE’ 命令(或者相同的命令)為每一個存活的key設定一個過期時間,因為所有的key在都將在達到2M記憶體限制時,使用近似LRU演算法對其進行淘汰。

基本上,採用這個配置,Redis的表現將與memcached類似。更詳細的文件請參考使用Redis作為LRU快取