Redis关于过期时间的命令
给Redis对象设置过期时间的8个命令:
set、persist、
expire、expireat、
pexpire、pexpireat、
setex、psetex
set key value [ex seconds] [px milliseconds] [NX|XX]
设置一个key的value值
persist key
移除key的过期时间
expire key seconds
设置一个key的过去的秒数
expireat key timestamp
即 expire@ key timestamp
设置一个UNIX时间戳的过期时间。
setex key seconds value
设置key-value并设置过期时间(单位:秒)
psetex key milliseconds value
设置key-value并设置过期时间(单位:毫秒)
pexpire key milliseconds
设置key的有效时间以毫秒为单位
pexpireat key milliseconds-timestamp
设置key的到期UNIX时间戳以毫秒为单位
最常用的有4个:expire、expireat、set、setex
expire和expireat只用来设置过期时间
set、setex 既可以用来设置过期时间,也可以用来做分布式锁(不推荐,请参考Redlock算法的实现。redlock算法虽然复杂一点,但却能保证更好的效果)。
**setex**是原子命令。
从**2.6.12版本**开始,redis 为SET命令增加了一系列选项:
EX seconds 设置key的过期时间,单位是秒
PX milliseconds 设置key的过期时间,单位是毫秒
NX 只有键key不存在时,才能设置key的值
XX 只有键key存在时,才能设置key的值