1. 程式人生 > 實用技巧 >Redis 配置

Redis 配置

Redis可以在沒有配置檔案的情況下通過內建的配置來啟動,但是這種啟動方式只適用於開發和測試。

合理的配置Redis的方式是提供一個Redis配置檔案,這個檔案通常叫做redis.conf

redis.conf檔案中包含了很多格式簡單的指令如下:

keyword argument1 argument2 ... argumentN
關鍵字   引數1     引數2      ... 引數N

如下是一個配置指令的示例:

這些指令的配置,意義以及深入使用方法都能在每個Redis釋出版本自帶的的redis.conf文件中找到。

更改配置的兩種方式:

  • 通過更改redis.conf

  • 通過命令列傳參

  以下是一個例子:這個例子配置一個新執行並以6380為埠的 Redis例項,使配置它為127.0.0.1:6379Redis例項的slave。

  

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

通過命令列傳遞的配置引數的格式和在redis.conf中設定的配置引數的格式完全一樣, 唯一不同的是需要在關鍵字之前加上 字首--

  • 執行時配置更改

Redis允許在執行的過程中,在不重啟伺服器的情況下更改伺服器配置,同時也支援 使用特殊的

CONFIG SETCONFIG GET命令用程式設計方式查詢並設定配置。

需要確保的是在通過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檔案來決定使用什麼記憶體上限處理策略。