Redis如何配置KEY的过期时间?他的实现原理是什么?

Redis如何配置KEY的过期时间?他的实现原理是什么?

redis设置key的过期时间:1.EXPIRE。2.SETNX。

实现原理:

  1. 定期删除:每隔一段时间,执行一次删除过期key的操作。
  2. 懒汉式删除:当使用get,getset等指令去获取数据时,判断key是否过期。过期后,就先把key删除,再执行后面的操作。

Redis是将两种方式结合来使用。

  • 懒汉式删除
  • 定期删除:平衡控制执行效率执行时长。遍历每个database(默认16个),检查当前库中指定个数的key(默认是20个),随机抽查这些key,如果有过期的就删除。并且程序中有一个全局变量,用来记录扫描到了哪一个数据库(database)。
posted @ 2021-04-04 20:33  pangqianjin  阅读(617)  评论(0编辑  收藏  举报