*Redis SETEX 命令 设置 key 的值并指定过期时间(秒)

*语法

SETEX key seconds value

*说明

SETEXkey 的值设为 value,并指定以秒为单位的生存时间(TTL)。

  • 如果 key 已存在,SETEX 会覆盖旧值。
  • SET + EXPIRE 组合效果类似,但 SETEX 是原子操作,同时完成赋值和设置过期时间。
  • 非常适合缓存场景。

*返回值

Simple string reply:设置成功时返回 OK。若 seconds 不合法,返回错误。

*时间复杂度

O(1)

*版本兼容性

Redis 版本 说明
>= 2.0.0 SETEX 可用

*示例

# 设置值并指定 10 秒过期
SETEX mykey 10 "Hello"
TTL mykey
GET mykey

# 设置缓存
SETEX cache:token 3600 "abc123"
TTL cache:token

# 过期后读取
# (等待 10 秒后)
GET mykey