设置变量a为100
让" a "在一天后过期。如果我想将"a"设置为其他值,但仍然希望它根据初始创建的" EXPIRE "过期,则不要删除" EXPIRE "。
换句话说,在将"a"设置为新值时,不要移除" EXPIRE "。
这是两年前我提出的请求,现在已经被添加进来了(https://github.com/antirez/redis/pull/6679)。
SET foo 1 KEEPTTL
如果您正在使用命令行进行操作,则无法精确执行此操作。最好的方法是手动将新键的过期时间设置为 a
的剩余 TTL (TTL a
)。
如果您从程序中与Redis通信,可以快速获取 a
的过期时间,并将该值设置为新键的过期时间,以便保持精度。
尝试使用setex,因为它更快速和原子性更强。