redis 过期策略与内存淘汰

本文介绍了Redis的过期设置方式,包括expire、pexpire、expireat和pexpireat,以及如何保存和删除过期key。Redis采用惰性删除和定期删除策略处理过期key。当内存不足时,Redis会根据预设的内存淘汰策略,如LRU、TTL等,来移除部分数据。文章详细阐述了这些策略的工作原理和应用场景。
摘要由CSDN通过智能技术生成

在工作中,我们有这样一种工作场景:在redis中将D日的数据保存至D+1日。为了节省内存,我们将存入redis的数据过期时间设置为25小时-当前小时数。

比如13点存入redis的数据过期时间设置为25-13=12小时,所有数据都会在D+1日凌晨一点过期。因此

此处不讨论将过期时间打散,不恰好集中在凌晨一点。

redis的过期设置有哪些方式

redis对使用者提供了四种设置过期时间方式:

  1. expire key ttl 秒级
  2. pexpire key ttl 毫秒级
  3. expireat timestamp 秒级 指定时间过期
  4. pexpireat timestamp 毫秒级 指定时间过期

这四种过期时间的方式底层的接口是都pexpireat 方法。

方式一:SETEX key seconds value

典型的只设置key的超时时间

方式二:set key value [EX seconds] [PX milliseconds] [NX|XX]

将设置key的超时时间与setnx结合起来,形成一个原子化的操作,在redis-cli中操作时也会有指令提示

image.png

参数解释:

EX seconds:设置失效时长,单位秒

PX milliseconds:设置失效时长,单位毫秒

NX:key不存在时设置value,成功

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值