Redis的key过期了,如何处理
- 惰性删除:当访问key时,才会判断它是否过期,如果过期,直接清除。这种方式对CPU很友好,但是一个key如果长期不用,一直存在内存里,会造成内存浪费
- 定时删除:设置键的过期时间的同时,创建一个定时器,当达到过期时间点,立即执行对key的删除操作,这种方式对CPU不友好,需要额外CPU维护定时器。
- 定期删除:隔一段时间,对数据进行一次检查,删除里面的过期key,至于要删除多少过期key,检查多少数据,则由算法决定。
Redis 服务器实际使用的是惰性删除和定期删除两种策略:通过配合使用这两种删除策略,可以很好地在合理使用CPU和避免浪费内存之间取得平衡