(五)Redis淘汰策略

Redis的淘汰策略:

一、no-eviction:不删除策略

当达到最大内存限制时,若是还须要更多的内存:直接返回错误。算法

二、allkeys-lru

当达到最大内存限制时,若是还须要更多的内存:在全部的key中,挑选最近最少使用(LRU)的key淘汰。dom

三、volatile-lru

当达到最大内存限制时,若是还须要更多的内存:在设置了expire(过时时间)的key中,挑选最近最少使用(LRU)的key淘汰。内存

四、allkeys-random

当达到最大内存限制时,若是还须要更多的内存:在全部的key中,随机淘汰部分key。io

五、volatile-random

当达到最大内存限制时,若是还须要更多的内存:在设置了expire(过时时间)的key中,随机淘汰部分key。ast

六、volatile-ttl

当达到最大内存限制时,若是还须要更多的内存:在设置了expire(过时时间)的key中,挑选TTL(time to live,剩余时间)短的key淘汰。sed

经常使用的淘汰算法:

FIFO:First In First Out,先进先出。判断被存储的时间,离目前最远的数据优先被淘汰。
LRU:Least Recently Used,最近最少使用。判断最近被使用的时间,目前最远的数据优先被淘汰。
LFU:Least Frequently Used,最不常用。在一段时间内,数据被使用次数最少的,优先被淘汰。
 im