【Redis的三种数据删除策略】定时定期惰性,超出内存就自动清理
https://blog.csdn.net/DQWERww/article/details/126453008
https://blog.csdn.net/qq_38056518/article/details/122107638
内存淘汰机制
Redis有过期策略,假如你的Redis只能存1G的数据,你一个请求写入2G,而你也没有及时请求key,那么惰性删除就不生效了,Redis占用内存就会越来越高。
Redis可以设置内存大小:maxmemory 100mb,超过了这个内存大小,就会触发内存淘汰机制;
配置:在redis.conf 配置文件中,可以设置淘汰方式:maxmemory-policy noeviction
maxmemory-policy一共有8个值,当内存不足时:
noeviction: 不删除,直接返回报错信息。
allkeys-lru:移除最久未使用(使用频率最少)使用的key。推荐使用这种。
volatile-lru:在设置了过期时间的key中,移除最久未使用的key。
allkeys-random:随机移除某个key。
volatile-random:在设置了过期时间的key中,随机移除某个key。
volatile-ttl: 在设置了过期时间的key中,移除准备过期的key。
allkeys-lfu:移除最近最少使用的key。
volatile-lfu:在设置了过期时间的key中,移除最近最少使用的key。