redis-过期策略

redis会把设置了过期时间的key单独放入一个字典里,在key过期时并不会立刻删除它。而是通过2种过期策略,来删除过期的key。

1、惰性删除:客户端访问某个key时,redis会检查这个key是否过期,若过期则删除这个key。

2、定期扫描:redis默认每秒执行10次过期扫描。

扫描策略如下:

    1、从过期字典中随机选择20个key。

    2、删除这20个key中过期的key。

    3、如果过期的key的比列超过25%,则重复步骤1。

惰性删除有一个弊端。若某个过期的key一直不被访问,则会一直保存在内存中。这样的key若累计过多,对内存也是一个不小的消耗。

你可能感兴趣的:(redis-过期策略)