Redis淘汰策略

Redis淘汰策略

Redis有6大淘汰策略算法

策略 描述
volatile-lru 已設置過時時間的K-V集和中優先對最近最少使用(less recently used)的數據淘汰
volatile-ttl 從已設置過時時間的K-V集和中優先對剩餘時間短(time to live)的數據淘汰
volatile-random 從已設置過時時間的K-V集和中隨機選擇數據淘汰
allkeys-lru 全部K-V集和中優先對最近最少使用的數據淘汰
allkeys-random 從全部K-V集和中隨機選擇數據進行淘汰
noeviction 不淘汰策略,若超過最大內存, 返回錯誤信息
  • Redis 4.0 加入了LFU(least frequency use)淘汰策略,包括 volatile-lfuallkeys-lfu ,經過統計訪問頻率,將訪問頻率最少,即最不常用的K-V對淘汰。
  • Redis是內存nosql庫,在實際的淘汰實現中,Redis 的淘汰算法是抽取一小部分(只限於設置了 expire 的部分)從中選出要淘汰的 鍵,從而減少內存消耗提升性能。