redis过期key的处理策略
一般redis对过期key的处理策略 有两种
1、惰性删除
2、定时删除
惰性删除
当一个key已经确定设置了240秒过期同时中间也没有修改它,240秒之后它确实已经过期了,但是惰性删除的策略它并不会马上删除这个key,而是当再次读写这个key时它才会去检查是否过期,如果过期了那么就会删除这个key。
定时删除
因为惰性删除策略无法保证某些冷门数据是否被及时删除,定时删除策略就是会在一定时间内主动淘汰一部分已经过期的数据,默认的时间是每100ms过期一次。
这里的问题就是每次只会淘汰一部分过期key,而不是所有的过期key,如果redis中数据比较多的话要是一次性全量删除对服务器的压力比较大,每一次只挑一批进行删除,所以很可能出现部分已经过期的key并没有及时的被清理掉,从而导致内存没有即时被释放。