Redis的淘汰策略

2021-10-05 12:59:16 字數 422 閱讀 5974

noeviction: 不刪除策略, 達到最大記憶體限制時, 如果需要更多記憶體, 直接返回錯誤資訊。 大多數寫命令都會導致占用更多的記憶體(有極少數會例外, 如 del )。

allkeys-lru: 所有key通用; 優先刪除最近最少使用(less recently used ,lru) 的 key。

volatile-lru: 只限於設定了 expire 的部分; 優先刪除最近最少使用(less recently used ,lru) 的 key。

allkeys-random: 所有key通用; 隨機刪除一部分 key。

volatile-random: 只限於設定了 expire 的部分; 隨機刪除一部分 key。

volatile-ttl: 只限於設定了 expire 的部分; 優先刪除剩餘時間(time to live,ttl) 短的key。

Redis淘汰策略

將 redis 用作快取時,如果記憶體空間用滿,就會自動驅逐老的資料。maxmemory用於指定 redis 能使用的最大記憶體。既可以在redis.conf檔案中設定,也可以在執行過程中通過 config set 命令動態修改 當記憶體使用達到最大限制時,如果需要儲存新資料,根據配置的策略 pol...

redis 淘汰策略

lru least recently used 演算法,如果資料最近被訪問過,那麼將來被剛問的機率也是很高的。lfu lfu 如果資料過去被訪問多次,那麼將來被剛問的機率也是更高。過期策略 1惰性刪除,當key被訪問時檢查改key的過期時間,若已過期刪除,已過期未被訪問的資料保持在記憶體中,小號記憶...

redis 淘汰策略

redis 淘汰策略有哪些?1,volatile lru 從已設定過期時間的雜湊表 server.db i expires 中隨機挑選多個key,然後在選到的key中用lru演算法淘汰最近最少使用的資料 2,allkey lru 從所有key的雜湊表 server.db i dict 中隨機挑選多個...