Redis內存淘汰策略

Redis用作緩存時,如果內存空間用滿,就會自動驅逐老的數據。

一、Redis六種淘汰策略

noeviction:當內存使用達到閾值的時候,所有引起申請內存的命令會報錯。

allkeys-lru:在主鍵空間中,優先移除最近未使用的key。(推薦)

volatile-lru:在設置了過期時間的鍵空間中,優先移除最近未使用的key。

allkeys-random:在主鍵空間中,隨機移除某個key。

volatile-random:在設置了過期時間的鍵空間中,隨機移除某個key。

volatile-ttl:在設置了過期時間的鍵空間中,具有更早過期時間的key優先移除。

二、配置Redis淘汰策略

在redis.conf文件中,設置Redis 內存大小的限制,我們可以設置maxmemory ,當數據達到限定大小後,會選擇配置的策略淘汰數據。

比如:maxmemory 300mb。

通過配置maxmemory-policy noeviction 設置Redis的淘汰策略。

比如:maxmemory-policy volatile-lru

發佈了104 篇原創文章 · 獲贊 35 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章