2016-03-07 105 views
-1

我对Redis缓存的行为有疑问。请澄清 -Redis TTL vs“allkeys-lru”驱逐策略

说,如果TTL设置为15分钟的关键“xyz”。 并且,如果它在服务器级别的驱逐策略设置为“allkeys-lru”。是否过期的项目(导致TTL)EXPIRE或等待,直到内存已满?

回答

4

驱逐策略仅适用于超过最大内存时发生的情况。只要您处于内存限制范围内,易失性密钥将在其过期时过期。

一旦你的内存已满,一个LRU算法开始执行,驱逐最近最少使用的密钥。在allkeys-lru中,密钥是否过期并没有关系,TTL是多少 - 最少使用的项目将被驱逐。在volatile-lru只有过期的密钥将被驱逐使用这种算法。