Redis 記憶體資料淘汰策略

2022-01-21 22:38:37 字數 586 閱讀 5940

no-eviction

預設策略。禁止驅逐,保證資料不會丟失

allkeys-lru

針對所有key,優先刪除最近最少使用(less recently used) 的key

volatile-lru

針對設定了過期時間的key,優先刪除最近最少使用(less recently used) 的key

allkeys-random

針對所有key,隨機刪除

volatile-random

針對設定了過期時間的key,隨機刪除

volatile-ttl

針對設定了過期時間的key,優先刪除存活時間(time to live)最短的key

lru (less recently used)

根據資料的歷史訪問記錄來進行淘汰資料

核心思想是「如果資料最近被訪問過,那麼將來被訪問的機率也更高」。

ttl (time to live)

redis 資料集資料結構中儲存了鍵值對過期時間的表,即 redisdb.expires。

快要過期的先淘汰。

random

隨機淘汰。

眾生平等。

redis記憶體淘汰策略

lru least recently used,最近很少使用 思想 越最近使用過的資料,接下來使用的機會越大,越應該保留,剔除哪些很久之前使用過的資料 新資料插入到列表頭部 每當快取命中 即快取資料被訪問 則將資料移到列表頭部 當列表滿的時候,將列表尾部的資料丟棄。lfu least frequen...

redis 記憶體淘汰策略配置

在配置檔案有一行 maxmemory policy volatile lru 對應的策略 noeviction 當記憶體使用達到閾值的時候,所有引起申請記憶體的命令會報錯。volatile lru 在設定了過期時間的鍵空間中,優先移除最近未使用的key。allkeys random 在主鍵空間中,隨...

Redis的記憶體淘汰策略

記憶體淘汰策略分類 早期版本的 redis 有以下 6 種淘汰策略 noeviction 不淘汰任何資料,當記憶體不足時,新增操作會報錯,redis 預設記憶體淘汰策略 allkeys lru 淘汰整個鍵值中最久未使用的鍵值 allkeys random 隨機淘汰任意鍵值 volatile lru ...