当Redis的内存空间已经用满时,Redis将根据配置的淘汰策略(maxmemory-policy),进行相应的动作。
Redis的淘汰策略共分为以下六种:
1、no-eviction:不删除策略
当达到最大内存限制时,如果还需要更多的内存:直接返回错误
2、allkeys-lru
当达到最大内存限制时,如果还需要更多的内存:在所有的key中,挑选最近最少使用(LRU)的key淘汰
3、volatile-lru
当达到最大内存限制时,如果还需要更多的内存:在设置了expire(过期时间)的key中,挑选最近最少使用(LRU)的key淘汰
4、allkeys-random
当达到最大内存限制时,如果还需要更多的内存:在所有的key中,随机淘汰部分key
5、volatile-random
当达到最大内存限制时,如果还需要更多的内存:在设置了expire(过期时间)的key中,随机淘汰部分key
6、volatile-ttl
当达到最大内存限制时,如果还需要更多的内存:在设置了expire(过期时间)的key中,挑选TTL(time to live,剩余时间)短的key淘汰