Redis 配置
Redis可以在沒有配置檔案的情況下通過內建的配置來啟動,但是這種啟動方式只適用於開發和測試。
合理的配置Redis的方式是提供一個Redis配置檔案,這個檔案通常叫做redis.conf
。
redis.conf檔案中包含了很多格式簡單的指令如下:
keyword argument1 argument2 ... argumentN
關鍵字 引數1 引數2 ... 引數N
如下是一個配置指令的示例:
這些指令的配置,意義以及深入使用方法都能在每個Redis釋出版本自帶的的redis.conf文件中找到。
- 自描述文件redis.conf for Redis 2.8
- 自描述文件
- 自描述文件redis.conf for Redis 2.4.
更改配置的兩種方式:
-
通過更改redis.conf
-
通過命令列傳參
以下是一個例子:這個例子配置一個新執行並以6380為埠的 Redis例項,使配置它為127.0.0.1:6379Redis例項的slave。
./redis-server --port 6380 --slaveof 127.0.0.1 6379
通過命令列傳遞的配置引數的格式和在redis.conf中設定的配置引數的格式完全一樣, 唯一不同的是需要在關鍵字之前加上 字首--
-
執行時配置更改
Redis允許在執行的過程中,在不重啟伺服器的情況下更改伺服器配置,同時也支援 使用特殊的
需要確保的是在通過CONFIG SET命令進行的設定的同時,也需在 redis.conf檔案中進行了相應的更改。( 未來Redis有計劃提供一個CONFIG REWRITE命令在不更改現有配置檔案的同時, 根據當下的伺服器配置對redis.conf檔案進行重寫。)
配置Redis成為一個快取
如果你想把Redis當做一個快取來用,所有的key都有過期時間,那麼你可以考慮 使用以下設定(假設最大記憶體使用量為2M):
maxmemory 2mb
maxmemory-policy allkeys-lru
以上設定並不需要我們的應用使用EXPIRE(或相似的命令)命令去設定每個key的過期時間,因為 只要記憶體使用量到達2M,Redis就會使用類LRU演算法自動刪除某些key。
相比使用額外記憶體空間儲存多個鍵的過期時間,使用快取設定是一種更加有效利用記憶體的方式。而且相比每個鍵固定的 過期時間,使用LRU也是一種更加推薦的方式,因為這樣能使應用的熱資料(更頻繁使用的鍵) 在記憶體中停留時間更久。
基本上這麼配置下的Redis可以當成memcached使用。
當我們把Redis當成快取來使用的時候,如果應用程式同時也需要把Redis當成儲存系統來使用,那麼強烈建議 使用兩個Redis例項。一個是快取,使用上述方法進行配置,另一個是儲存,根據應用的持久化需求進行配置,並且 只儲存那些不需要被快取的資料。
注意:需要詳細閱讀示例redis.conf檔案來決定使用什麼記憶體上限處理策略。