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

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操作,会清除过期时间_第1张图片

 

ok

你可能感兴趣的:(redis)