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