缓存过期处理的疑问
处理方式有主动删除和被动删除,那redis在内部同时使用该两种方式吗?结合使用?
71
收起
正在回答
2回答
Redis提供了3种数据过期策略,2主1被。被动删除就是当读或写一个已经过期的 key 时,会触发惰性删除策略,直接删除掉这个过期 key 。因为惰性删除策略是没法保证冷数据被及时删除的,所以为了保证内存的处于一个健康稳定的状态,redis就会运行一个时间事件,默认每秒10次扫描,也就是100毫秒扫描一次,把已经过期的key清理掉。这两个是同时进行的。估计会有个疑问,既然有定时扫描删除,那为什么还要有被动删除。嘻嘻,我不在这里说。再说下另一个主动删除,它是当前已用内存超过 maxmemory 限定时,触发主动清理策略,执行数据淘汰策略。说到这里,表明在 Redis 中,它们不是互斥的,redis是同时使用了上面3种策略,但不一定同时进行。
coding_zhang
2020-03-20 17:15:38
被动的,他不是主动,写满以后会按照淘汰机制去淘汰
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星