Redis如何过期key

过期redis key有两种方式:被动和主动方式。

被动过期:当一些客户端要访问这个key时,发现它已经过期,则删除。

显然这样做是不够的,因为可能有些key不会被再次访问。这种情况下也同样要删除这些过期的key。因此就有了主动过期的方式。

主动过期:redis会定期,通过随机的方式在设置了过期时间的key中选择一些key,如果这些key已经超过过期时间则把他们从keyspace中删除。

Redis每秒钟会做10次这样的事情:

  1. 从设置了过期时间的key集合中测试20个随机的key。
  2. 删除所有过期的key。
  3. 如果超过25%的key过期,则从第1步开始。

这是一个简单的概率算法,基于我们的抽样对于整个key空间具有代表性。直到过期率低于25%。

翻译自 https://redis.io/commands/expire

猜你喜欢

转载自blog.csdn.net/Leftmumu/article/details/85164052