# EXPIREAT

将key的过期时间设置为UNIX时间戳

语法

EXPIREAT key unix-time-seconds [NX | XX | GT | LT]
  • 从以下版本可用:

    1.2.0

  • 时间复杂度:

    O(1)

  • ACL 类别:

    @keyspace, @write, @fast

EXPIREAT具有与EXPIRE相同的效果和语义,但不是指定表示 TTL(生存时间)的秒数,而是使用绝对 Unix 时间戳 (自 1970 年 1 月 1 日以来的秒数)。过去的时间戳将立即删除密钥。

该命令的具体语义请参考EXPIRE.

# 背景

EXPIREAT引入是为了将 AOF 持久模式的相对超时转换为绝对超时。当然,它可以直接用于指定给定的密钥应该在未来的给定时间到期。

# 选项

EXPIREAT命令支持一组选项:

  • NX-- 只有当密钥没有过期时才设置过期
  • XX-- 仅当密钥已过期时才设置过期
  • GT-- 仅当新的到期时间大于当前到期时间时才设置到期时间
  • LT-- 仅在新到期时间小于当前到期时设置到期

非易失性密钥被视为无限 TTLGTLT。,GT和选项是互斥的LTNX

# 返回

Integer,具体来说:

  • 1如果设置了超时。
  • 0如果未设置超时。例如,键不存在,或者由于提供的参数而跳过了操作。

# 例子

redis> SET mykey "Hello"
 "OK"
 redis> EXISTS mykey
 (integer) 1
 redis> EXPIREAT mykey 1293840000
 (integer) 1
 redis> EXISTS mykey
 (integer) 0
  redis>

# 历史

  • 从 Redis 版本 7.0.0 开始:添加了选项:NXXX和.GT``LT

# 反馈

如果您在此页面上发现问题,或有改进建议,请提交请求以合并或打开存储库中的问题。

Last Updated: 4/18/2023, 8:45:33 AM