拾题
首页 / 软考真题 / Redis内存淘汰 / 第 1 题

请描述Redis的“定期删除+惰性删除”策略失效的场景,并给出三种内存淘汰机制。

简答题

请描述Redis的“定期删除+惰性删除”策略失效的场景,并给出三种内存淘汰机制。
答案:失效场景:如果“定期删除”没删除KEY,也没即时去请求KEY,也就是说“惰性删除”也没生效,这样策略就失效。三种内存淘汰机制:1)从已设置过期时间的数据集最近最少使用的数据淘汰(volatile-lru);2)从已设置过期时间的数据集将要过期的数据淘汰(volatile-ttl);3)从数据集最近最少使用的数据淘汰(allkeys-lru)。

解析

参考答案

  • 失效场景:定期删除未扫到该键,且后续未访问该键,惰性删除未触发,过期键仍占内存。
  • 淘汰机制:volatile-lru、volatile-ttl、allkeys-lru。

得分点解析

  • 失效场景:说明过期策略非实时,需淘汰机制兜底。
  • volatile-lru:只淘汰设过期时间的键中最近最少使用者,保护永久键。
  • volatile-ttl:只淘汰设过期时间的键中即将过期者,优先释放临期数据。
  • allkeys-lru:所有键中淘汰最近最少使用者,适合全缓存实例。

延伸

内存达 maxmemory 后触发 maxmemory-policy;另有 noeviction、allkeys-random、volatile-random、volatile-lfu、allkeys-lfu 等。

本单元其他题目

在拾题里做这套题