如何让Redis只为部分键选择LRU驱逐策略?

时间:2013-05-04 03:27:53

标签: redis

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

1 个答案:

答案 0 :(得分:7)

Redis的驱逐政策可能对您的案件有利。 您可以将maxmemory-policy设置为volatile-lru,这会导致Redis:

  

使用LRU算法

删除带有过期密钥的密钥

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

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

编辑:从版本3.0开始,默认的驱逐策略是“noeviction”。 (changelog