一、Redis清除过期策略

redis设置key的过期名称setnx,当key 过期,会自动清除key

redis清楚缓存命令 redis缓存清除策略_数据

二、删除策略

1.定期删除

触发删除事件: 内存不足、key过期时间到期

删除策略包含:定期删除+惰性删除

定期删除:指的是redis默认是每隔100ms就随机抽取一些设置了过期时间的key,检查其是否过期,如果过期就删除

惰性删除:在获取某个key的时候,redis会检查一下 ,这个key如果设置了过期时间那么是否过期了?如果过期了此时就会删除,不会给你返回任何东西。

2 内存淘汰机制

1、allkeys-lru:当内存不足以容纳新写入数据时,在键空间中,移除最近最少使用的key(这个是最常用的)
2、allkeys-random:当内存不足以容纳新写入数据时,在键空间中,随机移除某个key,这个一般没人用吧,为啥要随机,肯定是把最近最少使用的key给干掉啊
3、volatile-lru:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,移除最近最少使用的key(这个一般不太合适)
4、volatile-random:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,随机移除某个key
5、volatile-ttl:当内存不足以容纳新写入数据时,在设置了过期时间的键空间中,有更早过期时间的key优先移除