Redis命令:HPTTL
Redis HPTTL 命令详细教程HPTTL查询 Hash 中一个或多个字段的剩余生存时间以毫秒为单位返回。它是只读命令不修改任何数据或期限。资料合集https://pan.quark.cn/s/10e98d308913、https://pan.quark.cn/s/f56bc69c5338一、概览与语法HPTTL key FIELDS numfields field [field ...]项目说明数据类型Hash 的字段级过期时间支持版本Redis 7.4.0 起key一个 Hash KeyFIELDS必填关键字不可省略numfields字段数量必须与后续字段参数个数一致field至少一个字段名不支持通配符返回值数组元素顺序与输入字段顺序一致时间复杂度O(N)N 为指定字段数量ACLread、hash、fast命令标记readonly、fast官方说明与 HTTL 相同返回设置了过期时间的字段的剩余 TTL但单位是毫秒而非秒。$TRAE_REF二、返回值含义数值含义-2该字段不存在或整个 Key 不存在-1该字段存在但没有设置过期时间永久字段非负整数剩余生存时间单位毫秒官方示例清楚展示了三种结果的并存对 field1 设置了 300 秒 TTLfield2 无 TTLfield3 不存在查询返回292202、-1、-2三个值。$TRAE_REF-1与-2的区别是关键-1表示字段永久有效-2表示字段根本不存在。把两者混为一谈会导致“把永久字段当成缺失字段重新写入”这类逻辑错误。三、基础示例以下命令需要 Redis 7.4 或更新版本在测试实例的 redis-cli 中执行。文中结果是预期说明未实际连接 Redis 运行。官方示例还演示了不存在的 Key 的返回形态。HPTTL tutorial:{hpttl}:missing FIELDS 3 field1 field2 field3 DEL tutorial:{hpttl}:mykey HSET tutorial:{hpttl}:mykey field1 hello field2 world HEXPIRE tutorial:{hpttl}:mykey 300 FIELDS 2 field1 field3 HPTTL tutorial:{hpttl}:mykey FIELDS 3 field1 field2 field3预期结果第一条对不存在的 Key 返回(nil)即空值而非数组。HEXPIRE 返回[1, -2]field1 设置成功field3 因不存在返回 -2。最后一条返回形如[292202, -1, -2]field1 是毫秒剩余时间field2 无 TTLfield3 不存在。注意 Key 不存在时的返回与字段不存在时不同整个 Key 缺失时返回空值Key 存在但字段缺失时返回数组中对应位置的 -2。这一点与 HTTL 一致容易在客户端处理时被忽略。四、HTTL 与 HPTTL 的对照命令单位返回剩余时间适用场景HTTL秒是人工排查、秒级精度足够HPTTL毫秒是亚秒级 TTL、精度核对HEXPIRETIME秒否返回绝对时刻需要知道具体到期时间点HPEXPIRETIME毫秒否返回绝对时刻毫秒级绝对到期时刻HPTTL 的数值随时间递减每次调用都可能得到不同结果HPEXPIRETIME 在期限内保持稳定。需要判断“还能活多久”用 HPTTL需要判断“什么时候到期”用 HPEXPIRETIME。五、字段 TTL 与 Key TTL 的区别HPTTL 只查询字段级 TTL与整个 Key 的 TTL 是两套独立机制。命令作用对象单位TTL / PTTL整个 Key秒 / 毫秒HTTL / HPTTLHash 字段秒 / 毫秒DEL tutorial:{hpttl}:two HSET tutorial:{hpttl}:two a 1 EXPIRE tutorial:{hpttl}:two 600 HPEXPIRE tutorial:{hpttl}:two 300000 FIELDS 1 a TTL tutorial:{hpttl}:two HPTTL tutorial:{hpttl}:two FIELDS 1 a预期结果TTL 约为 600HPTTL 约为 300000两者独立存在谁先到期谁先限制数据可用性。要让字段永久有效使用 HPERSIST要让整个 Key 永久有效使用 PERSIST。六、边界情况与错误处理场景行为Key 不存在返回空值Nil不是数组字段不存在该项返回 -2字段无 TTL该项返回 -1字段有 TTL该项返回毫秒剩余时间随时间递减Key 是 String、List 等非 Hash报 WRONGTYPE 错误numfields 与实际字段数不符报语法错误未写 FIELDS 关键字报语法错误HPTTL 不会刷新字段或 Key 的 TTL。读取本身不影响生命周期这与访问时间LRU统计是两回事。七、Python 客户端示例前提为已安装 redis-py 且服务端为 Redis 7.4 或更新版本。importredis rredis.Redis(hostlocalhost,port6379,decode_responsesTrue)ktutorial:{hpttl}:pythontry:r.delete(k)r.hset(k,mapping{a:A,b:B})r.execute_command(HPEXPIRE,k,300000,FIELDS,1,a)fields[a,b,missing]rawr.execute_command(HPTTL,k,FIELDS,len(fields),*fields)print(raw)# 形如 [299847, -1, -2]forname,valueinzip(fields,raw):ifvalue-2:print(name,不存在)elifvalue-1:print(name,永久有效)else:print(name,剩余毫秒,value)print(r.execute_command(HPTTL,tutorial:{hpttl}:missing,FIELDS,1,a))# None整个 Key 不存在时返回空值finally:r.delete(k)r.close()八、并发、原子性与典型场景单条 HPTTL 是原子的返回执行瞬间的快照。但“先 HPTTL 判断是否临近过期再决定续期”是跨命令流程两次调用之间字段可能已到期或被其他客户端续期。需要原子条件续期时可使用 HGETEXRedis 8.0 起或 Lua 脚本。典型用途监控字段剩余寿命、核对续期逻辑是否符合预期、在业务中判断“即将过期则主动刷新”、排查字段为何提前消失。由于是只读且复杂度只与查询字段数相关可以安全地用于线上排障。九、练习、排错与总结练习新建tutorial:{hpttl}:exercise写入 a1、b2查询两个字段预期[-1, -1]用HPEXPIRE ... 300000 FIELDS 1 a设置 TTL 后再次查询预期 a 为接近 300000 的毫秒值、b 为 -1执行HPERSIST ... FIELDS 1 a后查询预期 a 回到 -1最后查询一个不存在的字段名预期为 -2。排错要点返回 -1 表示字段永久有效而非缺失返回 -2 表示字段或 Key 不存在整个 Key 缺失时返回空值而非数组客户端需单独处理数值只有三位数说明用的是秒级 HTTL应确认命令选择unknown command 时检查服务端版本不低于 7.4。清理使用DEL tutorial:{hpttl}:missing tutorial:{hpttl}:mykey tutorial:{hpttl}:two tutorial:{hpttl}:exercise。速记7.4 起支持、只读、毫秒剩余时间、FIELDS 必填、-1 永久、-2 不存在、Key 缺失返回空值。

相关新闻

中南智能工控教育|西门子 VS 三菱 PLC,新手别瞎纠结!选对比学得多更重要

中南智能工控教育|西门子 VS 三菱 PLC,新手别瞎纠结!选对比学得多更重要

中南智能工控教育在网上常看到打开工控论坛、刷短视频,到处都在吵西门子和三菱谁更强。有人吹西门子就业无敌,也有人说三菱简单适合小白。很多刚入行的朋友看得眼花缭乱,甚至还没开始学,就先在选品牌这件事上内耗好久。说实话&…

2026/10/4 18:04:06 阅读更多 →
32GB单卡LoRA微调实战:显存估算、配置与排错指南

32GB单卡LoRA微调实战:显存估算、配置与排错指南

最近帮人排查一个32GB显存卡上的训练问题,对方一上来就问了句“LoRA微调显存怎么估”,说是模型一加载看着挺宽裕,一跑训练就OOM,保险起见还不敢开大batch。这个场景我见过太多次。很多人以为LoRA微调很小成本,32GB显存…

2026/10/4 18:04:06 阅读更多 →
AI拆掉产品经理专业壁垒,但判断力成为新门槛

AI拆掉产品经理专业壁垒,但判断力成为新门槛

我这两年观察到一个特别有意思的现象:身边做运营的、做设计的、甚至完全不懂技术的朋友,都开始把“产品经理”挂在嘴边了。我认识一个做社群运营的姑娘,零产品经验,用 AI 花三天时间就把“宠物主社交”这个想法做成了带交互的高保…

2026/10/4 18:03:06 阅读更多 →

最新新闻

YOLO监控场景行人检测实战:数据集训练全流程与避坑指南

YOLO监控场景行人检测实战:数据集训练全流程与避坑指南

简介:面向街道监控场景的行人检测数据集,共包含1200张监控视角抓拍图片,标注类别为person,最大特点是已按YOLO系列要求生成txt标签,可直接用于YOLOv3至YOLOv10等全系列算法训练。资源包内总计2000个文件,由…

2026/10/4 21:53:04 阅读更多 →
OpenClaw 实战总结:从WSL2部署到Skill开发的开源AI助手指南

OpenClaw 实战总结:从WSL2部署到Skill开发的开源AI助手指南

OpenClaw 这个项目我从年初一直折腾到现在,中间经历了好几轮版本重写。标题写成“终章”不是说项目没了,而是我想把这一阶段的使用心得收个尾:从 Windows Companion 到 WSL2 环境校验,从 Node.js 安装到 Ollama 本地模型&#xff…

2026/10/4 21:53:04 阅读更多 →
从2小时到10分钟:发票批量录入的OCR与Excel自动化实操指南

从2小时到10分钟:发票批量录入的OCR与Excel自动化实操指南

1. 从2小时到10分钟,我到底改了什么干过律所行政或财务的都知道,业务管理系统里录发票这事儿,看着不起眼,干起来真要命。重庆这边的律所,业务量一大,每个案子结案要归档案卷、登记费用,发票录入…

2026/10/4 21:53:04 阅读更多 →
Claude Code部署实战:从零生成Landing Page完整指南

Claude Code部署实战:从零生成Landing Page完整指南

今天是学习 AI 编程的第四天。前三天我基本在“用”AI:写提示词让聊天机器人解释代码,开个编辑器插件让它补全函数,把报错信息粘贴出去求助。工具换了好几轮,但对 AI 编程的认知始终停留在一问一答的层面。第四天终于不一样了&…

2026/10/4 21:53:04 阅读更多 →
手写PLY文件+Open3D实现工业级点云可视化

手写PLY文件+Open3D实现工业级点云可视化

1. 项目概述:为什么一个能自己生成并可视化PLY点云的人,比只会调库的工程师更值钱点云可视化不是炫技,是三维感知落地的第一道门槛。我带过三届校招实习生,发现一个扎眼现象:90%的人能跑通Open3D官网示例,但…

2026/10/4 21:53:04 阅读更多 →
Qwen2-VL图像识别微调实战:Python实现LoRA训练与部署指南

Qwen2-VL图像识别微调实战:Python实现LoRA训练与部署指南

简介:面向图像识别与多模态大模型应用开发者,这份Python工程源码完整演示了基于千问Qwen2-VL从COCO 2014 Caption图片数据准备、模型训练到checkpoint加载推理的落地路径,适合已有Python基础、希望掌握视觉语言模型微调及图像识别工程化流程的…

2026/10/4 21:52:03 阅读更多 →

日新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →

周新闻

KT148A语音芯片外挂8002D功放的工程实践指南

KT148A语音芯片外挂8002D功放的工程实践指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

LLC谐振变换器增益公式推导:从FHA等效到完整归一化表达式

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →
ARM架构深度解析:从RISC设计理念到交叉编译实战

ARM架构深度解析:从RISC设计理念到交叉编译实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 1:00:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 11:40:45 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 9:43:54 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/4 20:14:29 阅读更多 →