Redis中数据过期删除策略

Redis中数据过期删除策略

过期删除策略方案:惰性删除、定期删除。

一、惰性删除:

​ 设置Key过期时间后,当我们去查询Key时,会检查Key是否过期。如果过期,就删除掉Key,否则返回Key。

**优点:**只有在使用Key的时候才会去进行检查当前Key是否过期。

**缺点:**如果大量的Key一直没有被使用,就会存在内存中,内存一直不会被释放。

二、定期删除:

​ 每隔一段时间就是对内存的Key进行一定量的检查,删除过期的Key。

**定期清理有两种模式:**SLOW模式、FAST模式。

SLOW模式:

​ 1、SLOW模式也称为慢速模式,在这种模式下,Redis会尽量保持性能稳定,即使内存使用已经达到上限,Redis仍然会继续处理请求,但可能会导致内存使用超出配置的阈值。

​ 2、当Redis处于SLOW模式下时,如果继续写入数据导致内存使用超出阈值,新写入操作会返回错误,并提示需要等待内存得到释放。

​ 3、这种模式适用于对系统性能要求较高,可以容忍短暂的内存使用超限情况的场景。

FAST模式:

​ 1、FAST模式也称为快速模式,在这种模式下,Redis会优先释放内存以确保内存使用不会超过配置的上限。这样可以避免出现内存使用过高导致系统运行不稳定的情况。

​ 2、当Redis处于FAST模式下时,一旦内存使用接近上限,Redis会立即采取内存淘汰策略,删除一些键来释放内存空间,从而确保系统的稳定性。

​ 3、这种模式适用于对内存占用有严格要求的场景,能够确保系统在内存使用达到上限时依然能够正常运行。

总结:

​ 在Redis中,惰性删除策略确保了过期键及时被删除,避免了过期键被返回给客户端的情况。而定期删除策略则以一定的频率清理部分过期键,保持系统的内存使用在可接受范围内。

 需要注意的是,Redis并不保证所有过期键都会立即删除,因为Redis的删除操作是通过惰性删除和定期删除相结合的方式来进行的。如果对于应用来说,即使出现过期键仍然可以接受,那么这两种模式的组合就能够提供一个较好的缓存删除策略。
  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值