今天在运用Redis的时候突然发现如果给某个key设置了expire后,在等待期间又重新对key设置value的话会怎样?

redis setrange redis setrange会重置有效期吗_redis

实验证明如果重新设置值的话,设置的生存时间expire就会被清掉(-1表示没有设置生存时间,-2表示此key不存在)

那么想要重新设置值又不想要设置的生存时间不被清掉要怎么做呢?

用setrange,setrange有三个参数,第一个为key值,第二个为从哪里开始覆盖,第三个为新值(效果如图)

redis setrange redis setrange会重置有效期吗_redis_02