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 的部分)从中选出要淘汰的 键,从而减少内存消耗提升性能。