Redis如何过期key

本文深入探讨了Redis中过期key的两种处理方式:被动过期和主动过期。被动过期仅在客户端尝试访问已过期key时进行清理,而主动过期则采用概率算法定期检查并删除过期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

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值