2011-09-28 116 views
5

Redis的具有以下設置:Redis的忽略maxmemory設置

配置得到maxmemory

1) "maxmemory" 
2) "2147483648" 

(即2G)

但是當我做 「信息

used_memory:6264349904 
used_memory_human:5.83G 
used_memory_rss:6864515072 

顯然,它忽略了所有的設置...爲什麼?

P.S.

配置得到maxmemory政策」 顯示:

1) "maxmemory-policy" 
2) "volatile-ttl" 

和: 「配置得到maxmemory樣本」 顯示:

1) "maxmemory-samples" 
2) "3" 

什麼手段,他們本應到期鍵與最近的失效日期...

回答

0

根據http://redis.io/topics/faq

您還可以使用配置文件中的「maxmemory」選項來限制Redis可以使用的內存。如果達到此限制,則Redis將開始回覆錯誤以寫入命令(但將繼續接受只讀命令)。

+0

據:配置得到maxmemory策略 1) 「maxmemory政策」 2) 「揮發性-TTL」 和:配置GET maxmemory樣本 1) 「maxmemory樣本」 2) 「3」 他們應該過期的密鑰與最近的失效日期... – alexeypro

2

您是否對您的所有密鑰都有到期設置? volatile-ttl只會刪除設置了過期的密鑰。這應該在你的信息輸出中。

如果您沒有過期ttls set,請爲您的保單嘗試allkeys-lru或allkeys-random。