*Redis HPEXPIRETIME 命令

返回 Hash 中一个或多个 field 的绝对过期时间(Unix 时间戳,毫秒)。Redis 7.4+ 引入。


*语法

HPEXPIRETIME key field [field ...]

*参数说明

参数 类型 必填 说明
key String Hash 键名
field String 字段名,可一次查询多个

*返回值

条件 返回值
field 有 TTL 过期 Unix 时间戳(毫秒)数组
field 存在但无 TTL -1
field 不存在 -2
key 不存在 -2

*时间复杂度

O(N),N 为 field 数量。


*示例

> HSET user:1001 name "Alice" email "alice@example.com"
> HPXPIRE user:1001 60000 name
1) (integer) 1

> HPEXPIRETIME user:1001 name email
1) (integer) 1717000060000
2) (integer) -1    # email 没有 TTL

*常见错误

  1. 对非 Hash 使用:返回 WRONGTYPE。

*最佳实践

  1. 毫秒级绝对过期时间:获取精确到毫秒的过期时间戳。

*FAQ

Q: HPEXPIRETIME 和 HEXPIRETIME 有什么区别? A: HPEXPIRETIME 返回毫秒时间戳;HEXPIRETIME 返回秒时间戳。两者功能相同,精度不同。