2015-09-28 65 views
0

我知道redis可以用作LRU緩存,但是有softlimit標誌,我們可以在達到特定標準後聲明「redis將開始清理LRU項目」。Redis緩存lru start softlimit

其實我在redis上遇到了OOM錯誤,我已經將redis設置爲LRU緩存,但是它達到了OOM限制和應用程序停止。

我知道「maxmemory」標誌,但是有一個軟限制,我們剩下10%的空間,我們可以開始驅逐一些項目,這樣應用程序就不會停止!

回答

1

您是否設置了具體的搬遷政策?

參見:驅逐策略http://redis.io/topics/lru-cache

我會再檢查,以確保你不小心設置堅持下去的你Redis的對象。我相信PERSISTED對象不能被LRU刪除。您可以使用http://redis.io/commands/ttl TTL找出您的密鑰的時間限制。和「鑰匙」來獲取鑰匙清單(這在生產服務器上是危險的,因爲清單可能很長並且阻塞)。 http://redis.io/commands/keys

-daniel

+0

燁..I've設置驅逐政策:allkeys-LRU,並仍然得到內存滿OOM錯誤! –

+0

根據您的評論更新答案。 – Daniel

+0

Thnx @丹尼爾......我需要檢查一下,這可能是罪魁禍首! –