如果什么都没有过期,Redis maxmemory-policy volatile-lru 会驱逐吗?

Will Redis maxmemory-policy volatile-lru evict if nothing is past expired date?

我有一个 redis 服务器设置 maxmemory-policy 设置为 volatile-lru。文档表明这将在达到内存限制时从设置了过期的条目集中逐出。

在这种情况下,redis 是否只驱逐过期的项目?如果内存中的所有内容都设置了过期时间,但没有任何内容超过过期时间,那么当达到最大内存时是否会驱逐任何内容?

如果您的驱逐政策设置为任何 volatile-* 政策,当 运行 内存不足且没有可驱逐的易失键时,Redis 将 return 出现 OOM 错误。