是否可以定义只应用部分键的LRU Redis ?



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

  1. 包含缓存数据,当我想要释放内存时可以被驱逐(对于这些数据,我想使用LRU,因为它可以增长到非常大量的记录)。
  2. 不能随机删除的信息-应该通过应用程序中的显式删除命令来清除。

我的问题是,是否有一种方法可以将这两种数据分开,使LRU只能在类型1的数据上定义,而不能在类型2的数据上定义

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

在此设置下,只有第一种类型的数据会被LRU算法驱逐。

最新更新