redis数据淘汰机制

  1. volatile-lru:从已设置过时时间的数据集(server.db[i].expires)中挑选最近最少使用 的数据淘汰
  2. volatile-ttl:从已设置过时时间的数据集(server.db[i].expires)中挑选将要过时的数 据淘汰
  3. volatile-random:从已设置过时时间的数据集(server.db[i].expires)中任意选择数据 淘汰
  4. allkeys-lru:从数据集(server.db[i].dict)中挑选最近最少使用的数据淘汰
  5. allkeys-random:从数据集(server.db[i].dict)中任意选择数据淘汰
  6. no-enviction(驱逐):禁止驱逐数据

1.LRUredis

在数据集中随机挑选几个键值对,取出其中 lru 最大的键值对淘汰。因此,你会发现,Redis 并非保证取得全部数据集中最近最少使用(LRU)的键值对,而只是随机挑选的几个键值对中的。dom

2.TTLserver

从过时时间 redisDB.expires 表中随机挑选几个键值对,取出其中 ttl 最大的键值对淘汰。一样你会发现,Redis 并非保证取得全部过时时间的表中最快过时的键值对,而只是随机挑选的几个键值对中的。io