Redis命令:HPEXPIRETIME
Redis HPEXPIRETIME 命令详细教程HPEXPIRETIME查询 Hash 中一个或多个字段的绝对到期时刻返回 Unix 毫秒级时间戳。它是只读命令不修改任何字段或期限。资料合集https://pan.quark.cn/s/10e98d308913、https://pan.quark.cn/s/f56bc69c5338一、概览与语法HPEXPIRETIME key FIELDS numfields field [field ...]项目说明数据类型Hash 的字段级过期时间支持版本Redis 7.4.0 起key一个 Hash KeyFIELDS必填关键字不可省略numfields字段数量必须与后续字段参数个数一致field至少一个字段名不支持通配符返回值数组元素顺序与输入字段顺序一致时间复杂度O(N)N 为指定字段数量ACLread、hash、fast命令标记readonly、fast官方说明本命令语义与 HEXPIRETIME 相同但返回的绝对 Unix 到期时间戳以毫秒为单位而不是秒。$TRAE_REF二、返回值含义数值含义-2该字段不存在或整个 Key 不存在-1该字段存在但没有设置任何过期时间永久字段正整数到期时刻的 Unix 毫秒时间戳-1与-2含义完全不同前者表示字段存在且永久有效后者表示字段不存在。把两者都当成“没有过期时间”会造成逻辑错误。毫秒时间戳是 13 位十进制数远超 32 位整数范围客户端必须使用 64 位整数解析。$TRAE_REF三、基础示例以下命令需要 Redis 7.4 或更新版本在测试实例的 redis-cli 中执行。文中结果是预期说明未实际连接 Redis 运行。官方示例中先设置 300 秒 TTL再查询得到形如1715705913659的毫秒时间戳。DEL tutorial:{hpexpiretime}:profile HSET tutorial:{hpexpiretime}:profile field1 hello field2 world HEXPIRETIME tutorial:{hpexpiretime}:profile FIELDS 3 field1 field2 absent HEXPIRE tutorial:{hpexpiretime}:profile 300 FIELDS 2 field1 field2 HPEXPIRETIME tutorial:{hpexpiretime}:profile FIELDS 2 field1 field2 HPTTL tutorial:{hpexpiretime}:profile FIELDS 2 field1 field2 HPEXPIRETIME tutorial:{hpexpiretime}:missing FIELDS 1 field1预期结果第一次查询返回[-1, -1, -2]即 field1 与 field2 存在但无 TTLabsent 不存在。设置 300 秒 TTL 后HPEXPIRETIME 返回两个相同的毫秒时间戳HPTTL 返回接近 300000 的毫秒剩余值。对不存在的 Key 查询返回[-2]。HPEXPIRETIME 在期限内保持稳定而 HPTTL 随时间递减。需要判断“什么时候到期”用前者需要判断“还能活多久”用后者。四、与其他时间查询命令的区别命令作用对象单位语义TTL / PTTL整个 Key秒 / 毫秒剩余生存时间HTTL / HPTTLHash 字段秒 / 毫秒剩余生存时间EXPIRETIME / PEXPIRETIME整个 Key秒 / 毫秒绝对到期时刻HEXPIRETIME / HPEXPIRETIMEHash 字段秒 / 毫秒绝对到期时刻不要用 HPEXPIRETIME 减去本地当前时间自行计算剩余时长客户端与服务端时钟不一致时结果会失真需要剩余时长时直接使用 HPTTL。五、时间基准与只读语义时间戳由服务端时钟决定。多实例时钟存在漂移时同一逻辑时刻可能返回不同数值因此不要把某实例返回的时间戳当作跨实例统一基准也不要用它做分布式排序。HPEXPIRETIME 是只读命令查询不会刷新字段 TTL不会创建 Key也不会因为读取而延长生命周期。它返回的是执行瞬间的快照查询之后字段仍可能因到期、HSET 覆盖清除 TTL、HDEL 删除或 HPERSIST 而改变状态。若后续操作依赖该结果应把检查与修改放进脚本或事务设计。六、Python 客户端示例前提为已安装 redis-py 且服务端为 Redis 7.4 或更新版本。importredis rredis.Redis(hostlocalhost,port6379,decode_responsesTrue)ktutorial:{hpexpiretime}:pythontry:r.delete(k)r.hset(k,mapping{a:A,b:B})fields[a,b,missing]print(r.execute_command(HPEXPIRETIME,k,FIELDS,len(fields),*fields))# [-1, -1, -2]r.execute_command(HEXPIRE,k,300,FIELDS,2,a,b)rawr.execute_command(HPEXPIRETIME,k,FIELDS,len(fields),*fields)forname,valueinzip(fields,raw):ifvalue-2:print(name,不存在)elifvalue-1:print(name,永久有效)else:print(name,到期时间戳毫秒,value)finally:r.delete(k)r.close()七、典型场景与性能适合在排障时确认字段是否真的带有期限、核对缓存续期是否符合预期、把字段到期时刻导出给监控系统。由于是只读命令对生产实例副作用很小但仍会占用一次请求与少量服务端时间。复杂度为 O(N)N 是查询的字段数量不随 Hash 总大小增长。批量查询同一 Hash 的多个字段应放在一条命令中而不是循环调用跨多个 Hash 查询时可用 Pipeline 减少往返但结果不构成同一时刻的一致快照。八、练习、排错与总结练习新建tutorial:{hpexpiretime}:exercise写入 a1、b2查询两个字段预期[-1, -1]用HPEXPIRE ... 300000 FIELDS 1 a设置毫秒 TTL 后再次查询预期 a 为 13 位毫秒时间戳、b 为 -1执行HPERSIST ... FIELDS 1 a后再查询预期回到[-1, -1]。排错要点返回 -1 说明字段永久有效而非不存在返回 -2 说明字段或 Key 不存在可用 HEXISTS 与 EXISTS 区分数值只有 10 位说明用的是秒级命令应确认使用的是 HPEXPIRETIME 而不是 HEXPIRETIMEunknown command 时检查服务端版本不低于 7.4客户端报整数溢出说明未按 64 位解析。清理使用DEL tutorial:{hpexpiretime}:profile tutorial:{hpexpiretime}:missing tutorial:{hpexpiretime}:exercise。速记7.4 起支持、只读、FIELDS 必填、-1 表示永久、-2 表示不存在、返回毫秒级绝对时间戳。

相关新闻

Qt 事件机制详解:从 QEvent 派生类到事件过滤器的全景指南

Qt 事件机制详解:从 QEvent 派生类到事件过滤器的全景指南

🔥个人主页:Cx330🌸 ❄️个人专栏:《C语言》《LeetCode刷题集》《数据结构-初阶》《C知识分享》 《优选算法指南-必刷经典100题》《Linux操作系统》:从入门到入魔 《Git深度解析》:版本管理实战全解 《Qt 极境架构》MySQL 核心…

2026/11/10 19:58:16 阅读更多 →
通过kibana操作elasticsearch记录

通过kibana操作elasticsearch记录

目录 索引操作(数据库) 文档操作(一条记录) 创建文档 查看文档 修改文档 局部修改文档 批量操作 类型tpye(表)已默认为‘_doc’ 映射mapping(表字段结构) 动态映射 静态映…

2026/11/3 1:46:31 阅读更多 →
大白话吃透Agent核心:Prompt、Context、Skill的底层关系与工程排障指南

大白话吃透Agent核心:Prompt、Context、Skill的底层关系与工程排障指南

本文详细探讨了在 Agent 项目中,Prompt、Context 和 Skill 的作用和相互关系。作者指出,这三者并非简单的平级概念,而是分别负责任务的指令、模型的可见工作集以及程序性知识的按需加载。文章还分析了工业界和学术界在这三方面的最新进展&…

2026/11/2 6:28:11 阅读更多 →

最新新闻

Electron桌面应用开发实战:从环境搭建到打包发布全流程

Electron桌面应用开发实战:从环境搭建到打包发布全流程

做前端这些年,我大部分时间都在跟浏览器标签页打交道,直到第一次把桌面应用跑起来,才发现原来自己一直被限制在地址栏和刷新按钮围起来的框框里。Electron这个词,最开始是在某段时间频繁出现在同事的讨论里,一个用HTML…

2026/11/9 14:01:10 阅读更多 →
滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

滑盖智能锁T109深度解析:结构原理、安装调试与故障排查

简介:亚太天能T109滑盖智能锁产品说明书是一份PDF格式的官方技术文档,主要面向智能锁安装人员、终端用户及售后维护者,帮助快速掌握产品安装、配置与常见故障处理。全包仅1个PDF文件,大小4.37MB,内容结构清晰&#xff…

2026/11/9 14:56:39 阅读更多 →
PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

PMSM弱磁控制原理与Simulink建模:高速AGV驱动系统设计指南

上个月我在调试一台高速AGV的驱动系统,整车要求空载跑到8m/s,电机转速已经拉到额定点,驱动器的输出电压也顶到了母线电压极限附近。再往上踩速度指令,转速纹丝不动,三相电流反而开始震荡。那会儿我的第一反应就是&…

2026/11/10 2:03:25 阅读更多 →
C++核心知识点:从内存管理到STL的实战指南

C++核心知识点:从内存管理到STL的实战指南

C 这门语言我前前后后折腾了十几年,用它写过嵌入式驱动、做过游戏服务端,也搭过基础组件库。每次看到新人一头扎进"C 核心知识点"这个搜索词,我其实挺感慨的——这门语言的难点从来不是语法多,而是知识点之间的耦合太深…

2026/11/10 16:14:15 阅读更多 →
T109滑盖智能锁怎么装?安装调试与故障排查全攻略

T109滑盖智能锁怎么装?安装调试与故障排查全攻略

简介:亚太天能T109滑盖智能锁产品说明书以PDF格式发布,适合智能锁用户、安装人员与售后维修人员阅读。内容围绕T109系列指纹密码刷卡锁展开,先介绍前面板、后面板、锁体、机械钥匙、电池盒盖等部件名称与功能,再给出完整安装步骤&…

2026/11/10 12:51:50 阅读更多 →
LLM知识降熵:从信息垄断到理解权下放

LLM知识降熵:从信息垄断到理解权下放

你有没有过这种经历:翻开源码注释、论文摘要或者一份专业报告,每个字都认识,连在一起却像天书。想找人聊聊,身边要么没人懂,要么懂的懒得跟你解释。后来我试着把同一段内容丢给一个大语言模型,几秒钟之后&a…

2026/11/9 14:01:11 阅读更多 →

日新闻

周新闻

月新闻