我对 Redis 缓存的行为有疑问。请澄清 -
比如说,如果 TTL 设置为 15 分钟,则为键"xyz"。并且,如果服务器级别的逐出策略设置为"allkeys-lru"。过期项目(TTL 的原因)是过期还是等到内存已满?
逐出策略仅适用于超出最大内存时发生的情况。只要您在内存限制范围内,易失性密钥就会在应该过期时过期。
一旦您的内存已满,LRU 算法就会启动,逐出最近最少使用的密钥。在allkeys-lru
中,密钥是否过期以及TTL是什么并不重要 - 最少使用的项目将被逐出。volatile-lru
使用此算法只会逐出过期的密钥。