有没有办法让Redis仅为特定密钥选择LRU(最近最少使用)驱逐策略?我希望一组键能够持久存储,并且如果没有足够的内存,则永远不要将其逐出。另一方面,如果内存不足,我希望自由移出另一组键。
Redis的驱逐政策可能对您的情况有利。您可以将maxmemory-policy设置为volatile-lru,这会使Redis进行以下操作:
使用LRU算法删除具有过期集的密钥
这意味着未设置为TTL的键不会丢失,因此不会被逐出,但是具有TTL的键将按照最近使用的顺序删除。
实际上,volatile-lru是默认策略,因此您要做的就是确保为当内存已满时愿意丢失的密钥设置了TTL。
编辑:自版本3.0起,默认驱逐策略为“ noeviction”。(更新日志)