Redis过期key的删除策略

115 阅读1分钟

Redis是key-value数据库,我们可以设置redis中key的过期时间,删除策略就是指当key过期了,redis如何进行处理。

  • 惰性过期:只有当我们在访问某个key的时候才回去判断这个key是否过期,如果过期就删除。此策略最大程度节省了cpu资源。不用过多去关注某个key。不过只有在访问key才回去进行删除,这会导致有许多过期key来不及处理,就会导致内存占用过多。
  • 定期过期:这个方法会每隔一段时间,会扫描一定数量的key,并清除其中过期的key。注意不是全部key。这个方法是cpu和内存之间达到平衡的一种状态,既不过多占用cpu,也不造成大量内存。

在过期策略中,其实还有一个定时过期。不过redis并没有采用。

定时过期就是给每一个key设置一个定时器,当一个key的过期时间到了,就有这个定时器去把这个key删除。这种虽然不会占用内存,但是会非常占用cpu资源。需要实时单独去监视某一个key的状态。