说说Redis的回收策略

  • volatile-lru:从已设置过期时间的数据集(server.db[i].expires)中,淘汰最近最少使用的数据
  • volatile-ttl:从已设置过期时间的数据集(server.db[i].expires)中,淘汰最早会过期的数据
  • volatile-random:从已设置过期时间的数据集(server.db[i].expires)中,随机淘汰数据
  • allkeys-lru:从数据集(server.db[i].dict)中,淘汰最近最少使用的数据
  • allkeys-random:从数据集(server.db[i].dict)中,随机淘汰数据
  • noenviction:Redis 的默认策略,不回收数据,当达到最大内存时,新增数据返回 error

注意:

  • volatile 是对已设置过期时间的数据集淘汰数据
  • allkeys 是从全部数据集淘汰数据
  • lru 是 Least Recently Used 的缩写,即最近最少使用
  • ttl 指令可以获取键到期的剩余时间(秒),这里的意思是淘汰最早会过期的数据