Redis 中有个设置时间过期的功能,即对存储在 redis 数据库中的值可以设置一个过期时间。
作为一个缓存数据库,这是非常实用的。
比如,一般项目中的 Token 或是 Cookie 信息,尤其是短信验证码,都是有时间限制的,按照传统的数据库处理方式,一般都是自己判断过期,这样无疑会严重影响项目性能。
我们 set key 的时候,都可以给一个 expire time,也就是过期时间,这样就指定了这个 key 可以存活的时间。
假设我们设置了一批只能存活1个小时的 key,那么1小时后,redis 是怎么对这批 key 进行删除的?
答案是:定期删除 + 惰性删除