Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Redis TTL vs";“所有钥匙lru”;驱逐政策_Redis - Fatal编程技术网

Redis TTL vs";“所有钥匙lru”;驱逐政策

Redis TTL vs";“所有钥匙lru”;驱逐政策,redis,Redis,我对Redis cache的行为有疑问。请澄清- 例如,如果TTL设置为15分钟,则按键“xyz”。 并且,如果服务器级别的逐出策略设置为“allkeys lru”。过期的项目(TTL的原因)是否过期或等待内存已满?退出策略仅适用于超出最大内存时发生的情况。只要您在内存限制内,易失性密钥就会在应该过期的时候过期 一旦你的内存满了,一个LRU算法就会启动,逐出最近使用最少的密钥。在allkeys lru中,密钥是否过期以及TTL是什么并不重要-使用最少的项将被逐出。在volatile lru中使用

我对Redis cache的行为有疑问。请澄清-

例如,如果TTL设置为15分钟,则按键“xyz”。
并且,如果服务器级别的逐出策略设置为“allkeys lru”。过期的项目(TTL的原因)是否过期或等待内存已满?

退出策略仅适用于超出最大内存时发生的情况。只要您在内存限制内,易失性密钥就会在应该过期的时候过期


一旦你的内存满了,一个LRU算法就会启动,逐出最近使用最少的密钥。在
allkeys lru
中,密钥是否过期以及TTL是什么并不重要-使用最少的项将被逐出。在
volatile lru中
使用此算法只会收回过期的密钥。

回答得好。也许这是一个反问,但是如果我所有的钥匙都是易变的(它们有一个超时),那么
volatile lru
allkeys lru
策略都有相同的效果,对吗?Redis如何识别lru钥匙?@AminShojaei它对一组钥匙的访问时间IIRC进行了采样。如果没有易变钥匙会发生什么?它将回退到allkeys以运行lru算法?