redis中的increment()方法遇到的问题记录

问题引出
1、项目中需要使用redis对key进行有效时长设置
2、在对该key进行有效时长设置时同时需要原子性的增加该key对应的值
3、每次获取当前key对应的value进行大小判断从而进行业务逻辑处理
产生的问题
1、使用set方法直接设置key的有效时长时,该操作将会重置key的有效时长
2、使用increment()方法时该方法会在key不存在时redis会自动建立key并对该key值进行加一操作,但是该新生成的key将不会有过期时间
解决方法
1、对需要set到redis中的key设置一个初始值1并设置该key的有效时长
2、使用increment()方法进行增加后,该方法会返回增加后的值,该值一般情况下一定是大于1的
3、判断如果当前key的值等于1时就说明存在在increment()方法执行时,当前key刚好过期。当前的key是由redis自动执行的加一操作,但是该key是不具备过期时长设置的。此时需要对该key重新设置key的时长

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值