1、在redis中,key过期形式分为定期解决和惰性解决,

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