如何使Redis只对部分键选择LRU驱逐策略



是否有办法使Redis选择LRU(最近最少使用)仅针对特定键的驱逐策略?我希望一组键是持久的,并且在内存不足时永远不会被驱逐。另一方面,我希望另一组键可以在内存不足时被自由删除。

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

使用LRU算法删除带有过期集的密钥

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

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

编辑:从3.0版本开始,默认的驱逐策略是"noeviction"。(变更)

最新更新