淺談Redis中快取過期、記憶體被快取佔用要怎麼處理?以下這篇文章帶大家了解Redis中的快取過期處理策略和記憶體淘汰機制,希望對大家有幫助!
設定了expire的key快取過期了,但伺服器的記憶體還是會被佔用,這是因為redis所基於的兩種刪除策略
redis有兩種策略:
(主動)定時刪除
(被動)惰性刪除
所以,雖然key過期了,但只要沒有被redis清理,那麼其實記憶體還是會被佔用的。 【相關建議:Redis影片教學】
記憶體佔滿了,可以使用硬碟,來保存,但沒意義,因為硬碟沒有記憶體快,會影響redis效能。
所以,當記憶體佔用滿了以後,redis提供了一套快取淘汰機制:MEMORY MANAGEMENT
maxmemory
:當記憶體已使用率到達,則開始清理快取
* noeviction:旧缓存永不过期,新缓存设置不了,返回错误 * allkeys-lru:清除最少用的旧缓存,然后保存新的缓存(推荐使用) * allkeys-random:在所有的缓存中随机删除(不推荐) * volatile-lru:在那些设置了expire过期时间的缓存中,清除最少用的旧缓存,然后保存新的缓存 * volatile-random:在那些设置了expire过期时间的缓存中,随机删除缓存 * volatile-ttl:在那些设置了expire过期时间的缓存中,删除即将过期的`
更多程式相關知識,請造訪:程式設計入門! !
以上是淺談Redis中快取過期、記憶體被快取佔用要怎麼處理?的詳細內容。更多資訊請關注PHP中文網其他相關文章!