
設定過期時間,expire key time(以秒為機關)
被動删除:當讀/寫一個已經過期的key時,會直接删掉這個過期的key。
主動删除:redis會定期主動淘汰一批已經過期的key。
目前已用的記憶體超過maxmemory限定時,觸發主動清理政策。
如果redis的記憶體占用過多的時候,如果redis的記憶體占用過多的時候,會進行記憶體淘汰。
有如下一些政策:
noeviction:報錯
allkeys-lru:在鍵空間中,移除最近最少使用的key
allkeys-random:在鍵空間中,随機移除某個key
volatile-lru:在設定了過期時間的鍵空間中,移除最近最少使用的key
volatile-random:在設定了過期時間的鍵空間中,随機移除某個key
volatile-ttl:在設定了過期時間的鍵空間中,有更早過期時間的key優先移除
一般做緩存的話,使用allkeys-政策;如果使用其持久化政策的話,volatile-政策.
最經常用的是allkeys-lru
《JAVA面試機經基礎篇》 郭屹老師著 歡迎關注 爪哇河谷 同專欄名公衆号
歡迎關注我的其他專欄
什麼是程式設計zhuanlan.zhihu.com
Java語言十五講zhuanlan.zhihu.com