Redis SETEX 命令将指定的 key 设置为 value,并将 key 的生存时长设为 seconds(单位为秒)。
如果指定的 key 已经存在,SETEX 命令将覆写旧值。这个命令类似于 SET key value
和 EXPIRE key seconds
两个命令的合并,不同之处在于,SETEX 是一个原子性(atomic)操作,关联值和设置生存时间两个动作会在同一时间内完成,该命令在 Redis 用作缓存时,非常实用。
命令格式
SETEX key seconds value
可用版本:>=2.0.0
时间复杂度:O(1)
命令返回值
设置成功时,返回 OK。
当 seconds 参数不合法(如非数字)时,返回一个错误。
示例
redis> SETEX mykey 10 Hello # 设置成功
"OK"
redis> TTL mykey
(integer) 10
redis> GET mykey
"Hello"
redis> SETEX knowledge 10s dict # 过期时间非法
(error) ERR value is not an integer or out of range