4

有没有办法让 Redis 只为特定的键选择 LRU(最近最少使用)驱逐策略?如果没有足够的内存,我希望一组键是持久的并且永远不会被驱逐。另一方面,如果内存不足,我希望另一组键被自由驱逐。

4

1 回答 1

7

Redis 有一个驱逐政策,这可能对你的情况有好处。您可以将 maxmemory-policy 设置为 volatile-lru,这会导致 Redis:

使用 LRU 算法删除设置了过期时间的密钥

这意味着未设置 TTL 的密钥不是易失的,因此不会被驱逐,但具有 TTL 的密钥将按最近最少使用的顺序删除。

实际上,volatile-lru 是默认策略,所以您要做的就是确保为您愿意在内存已满时丢失的密钥设置 TTL。

编辑:从 3.0 版开始,默认的驱逐策略是“noeviction”。(变更日志

于 2013-07-02T19:57:14.430 回答