1、在redis中,key过期形式分为定期解决和惰性解决,
- Redis配置项hz定义了serverCron工作的执行周期,默认为10,即CPU闲暇时每秒执行10次;
- 每次过期key清理的工夫不超过CPU工夫的25%,即若hz=1,则一次清理工夫最大为250ms,若hz=10,则一次清理工夫最大为25ms;
- 清理时顺次遍历所有的db;
- 从db中随机取20个key,判断是否过期,若过期,则逐出;
- 若有5个以上key过期,则反复步骤4,否则遍历下一个db;
- 在清理过程中,若达到了25%CPU工夫,退出清理过程;