《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 SET 和 CONFIG GET 來對配置項進行重新配置,以及通過程式設計來查詢Redis當前的配置項,設定和查詢不需要停止和重啟服務。
並不是所有的配置項都支援這種配置方式,但是大部分是支援的。具體的支援情況請參考:
CONFIG SET 和 CONFIG GET
注意:執行時動態修改的配置項 不會影響redis.conf檔案中的配置,在下一次重啟時,又會恢復以前的配置。
如果通過CONFIG SET修改了某些配置項,還確定要同時修改’redis.conf’配置檔案中相對應的配置項。則需要你自己手動去修改,或者使用Redis 2.8。在Redis2.8 中,你只要使用
將Redis配置為快取
如果你計劃將Redis當作一個快取來使用,而且每一個key都需要有一個過期設定,你可以考慮使用如下的配置(示例中假設最大記憶體限制為2M):
maxmemory 2mb
maxmemory-policy allkeys-lru
在這個配置中,應用程式不需要再使用 ‘EXPIRE’ 命令(或者相同的命令)為每一個存活的key設定一個過期時間,因為所有的key在都將在達到2M記憶體限制時,使用近似LRU演算法對其進行淘汰。
基本上,採用這個配置,Redis的表現將與memcached類似。更詳細的文件請參考使用Redis作為LRU快取。