首页 > 解决方案 > 是否可以定义仅适用于部分键的 LRU Redis

问题描述

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

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

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

标签: redislru

解决方案


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

使用此设置,只有第一种类型的数据将被 LRU 算法驱逐。


推荐阅读