是否可以定义仅适用于部分键的 LRU Redis

Is it possible to define LRU Redis that will apply only of part of the keys

我目前使用同一个redis实例来保存两种类型的信息:

  1. 其中包含缓存数据,当我想释放内存时可以将其逐出(对于此数据,我想使用 LRU,因为它可以增长到非常大的记录数)。
  2. 无法随机删除的信息 - 应通过应用程序中的显式删除命令清除。

我的问题是,是否有一种方法可以将 LRU 仅定义在类型 1 的数据上,而不是类型 2 的数据上。

对于第一种类型的数据,您可以为每个键(使用 EXPIREEXPIREATSET 命令)设置超时,即 TTL,对于第二种数据类型,不设置超时。然后您可以配置您的 Redis 服务器以将 maxmemory-policy 设置为 volatile-lru.

使用此设置,只有第一种数据会被 LRU 算法逐出。