PEXPIRE

设置键的过期时间(以毫秒为单位)。

语法

PEXPIRE key milliseconds [NX | XX | GT | LT]

引入版本:2.6.0

复杂度摘要:O(1)

该命令的工作方式与 EXPIRE 完全相同,但键的生存时间以毫秒而不是秒为单位指定。

必需参数

key

要设置超时的键的名称。

milliseconds

超时,以毫秒为单位。

可选参数

以下选项修改命令的行为。它们是相互排斥的。

NX

仅当键没有过期时间时才设置过期时间。

XX

仅当键已有到期日时才设置到期日。

GT

仅当新的到期时间大于当前的到期时间时才设置到期时间。出于 GT 的目的,非易失性键被视为无限 TTL。

LT

仅当新的到期时间小于当前的到期时间时才设置到期时间。出于 LT 的目的,非易失性键被视为无限 TTL。

示例

redis> SET mykey "Hello"
OK
redis> PEXPIRE mykey 1500
(integer) 1
redis> TTL mykey
(integer) 2
redis> PTTL mykey
(integer) 1500
redis> PEXPIRE mykey 1000 XX
(integer) 1
redis> TTL mykey
(integer) 1
redis> PEXPIRE mykey 1000 NX
(integer) 0
redis> TTL mykey
(integer) 1

Redis Software 与 Redis Cloud 兼容性

Redis
软件
Redis
Cloud
说明
✅ 标准
✅ 主动-主动
✅ 标准
✅ 主动-主动

返回值

RESP2

以下之一: * 整数回复:0(如果未设置超时)。例如,如果键不存在,或者由于提供的参数而跳过操作。 * 整数回复: 1(如果设置了超时)。

RESP3

以下之一: * 整数回复:0(如果未设置超时)。例如,如果键不存在,或者由于提供的参数而跳过操作。 * 整数回复: 1(如果设置了超时)。

资料来源:Redis 官方 PEXPIRE 文档;中文内容参考 Redis 文档许可。