redis 过期处理

常见过期策略:

1.定时删除(不建议使用)

   在一个键设置过期时间的同时为该键创建一个定时器,时间到来的时刻删除该键

  优点:内存释放快 ;缺点:大量键的定时器影响性能

2.惰性删除

    在对键进程获取或者处理的时候验证是否过期,过期则删除返回null

    优点:cpu占用少;缺点:大量未过期未删除的键未删除释放内存可能发生内存溢出

3.定期删除

    设定定时器,到时间执行一次删除过期键操作

   优点:定期删除cpu占用相对定时删除少很多;缺点,内存方面不如定期删除,cpu占用方面不如惰性删除

   难点:设置定期时间,参考逻辑和服务器资源设定

redis 采用的方式是 惰性删除和定期删除的联合方案

  惰性删除流程:get或setnx操作时先检查是否过期删除

  定期删除流程:获取每个库中的设定过期时间的键 判断是否过期(默认是获取20键验证)

AOF持久化过期键处理

  内存持久化到AOF文件时验证键是否过期

  AOF文件重写时验证是否过期,过期则删除同时删除文件中的信息

  RDB文件恢复到内存中时验证是否过期,过期则删除同时删除文件中的信息

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值