《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.8中的redis.conf。
- 自說明文檔 Redis 2.6中的redis.conf。
- 自說明文檔 Redis 2.4中的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 中,你隻要使用CONFIG REWRITE 來重寫參數項,將自動去掃描你的’redis.conf’文件,如果發現配置的值和你要修改的值不匹配的話,則會將配置的值更新為新設置的值。如果對應的配置項不存在,則會設置為默認值而不是新添加的。配置文件中的注釋將會被保留。
將Redis配置為緩存
如果你計劃將Redis當作一個緩存來使用,而且每一個key都需要有一個過期設置,你可以考慮使用如下的配置(示例中假設最大內存限製為2M):
maxmemory 2mb
maxmemory-policy allkeys-lru
在這個配置中,應用程序不需要再使用 ‘EXPIRE’ 命令(或者相同的命令)為每一個存活的key設置一個過期時間,因為所有的key在都將在達到2M內存限製時,使用近似LRU算法對其進行淘汰。
基本上,采用這個配置,Redis的表現將與memcached類似。更詳細的文檔請參考使用Redis作為LRU緩存。
最後更新:2017-05-22 10:03:40