redis的set操作实际上是: 删除之前的key,再创建一个新的key,所以之前key就会被删除连带赋予的过期时间,

这时我们建议使用setrange 命令进行覆盖操作,避免过期时间被删除.

redis 的在线测试网址 (http://try.redis.io/  )

首先设置一个简单的string类型key:

set key 123;

为他设置过期时间(在这里我使用的是expireat  unix时间戳以秒为单位)

expireat key 1547049599;

使用ttl 命令可以查看key的过期时间

ttl key;

使用setrange 命令(http://redisdoc.com/string/setrange.html)命令参考,这个命令有3个参数 ,分别表示(key值,覆盖位置,覆盖的值) 在这里我 直接从第0位开始覆盖 覆盖的新值为125

setrange key 0 125;

这时再查看过期时间是否还存在 ttl key ;查看新的值 是否发生改变 get key;

redis: string类型设置过期时间后 再进行set操作,会清除过期时间

相关文章:

  • 2021-11-29
  • 2022-12-23
  • 2022-12-23
  • 2021-06-02
  • 2022-12-23
  • 2021-06-18
猜你喜欢
  • 2022-12-23
  • 2022-02-18
  • 2021-07-24
  • 2022-12-23
相关资源
相似解决方案