【发布时间】:2021-10-18 08:58:34
【问题描述】:
我目前使用同一个redis实例来保存2种信息:
- 包含缓存数据,当我想释放内存时可以清除这些数据(对于这些数据,我想使用 LRU,因为它可能会增长到非常多的记录)。
- 无法随机删除的信息 - 应通过应用程序中的显式删除命令进行清理。
我的问题是,是否有一种方法可以将这两种数据分开,以便仅在类型 1 的数据上定义 LRU,而不是在类型 2 的数据上。
【问题讨论】:
我目前使用同一个redis实例来保存2种信息:
我的问题是,是否有一种方法可以将这两种数据分开,以便仅在类型 1 的数据上定义 LRU,而不是在类型 2 的数据上。
【问题讨论】:
对于第一种数据,您可以为每个键(使用EXPIRE、EXPIREAT或SET命令)设置超时即TTL,对于第二种数据,设置无超时。然后你可以配置你的 Redis 服务器将maxmemory-policy 设置为 volatile-lru。
使用此设置,LRU 算法只会驱逐第一种类型的数据。
【讨论】: