首页/数据/数据库速查/Hash 字段级过期(7.4+ HEXPIRE)与旧版本替代
本包目录(495 条)
MySQL 基础与连接36 条SQL 语法52 条用户与权限21 条备份与恢复56 条主从复制与高可用53 条性能与调优57 条
Redis 命令96 条
Redis 运维与场景124 条

Hash 字段级过期(7.4+ HEXPIRE)与旧版本替代

Redis 7.4 起支持字段级过期:HEXPIRE key seconds FIELDS n field...;7.4 之前只能整键过期,或把字段拆成独立键。

数据库速查数据更新于 2026-10-12

7.4+ 字段过期

7.4+ 字段过期
HSET session:u1 token abc login_at 1700000000
HEXPIRE session:u1 1800 FIELDS 1 token
HTTL session:u1 FIELDS 1 token      # 剩余秒数;-2 字段不存在
HPERSIST session:u1 FIELDS 1 token  # 取消过期

旧版本替代方案

旧版本替代方案
# 方案一:整键过期(所有字段一起失效)
EXPIRE session:u1 1800
# 方案二:字段拆键,各自过期
SET session:u1:token abc EX 1800
字段级过期是 7.4 新特性,老版本命令直接报错;升级前确认客户端与集群版本一致,别在混部环境里使用。

易错点

  • 在 7.2/7.0 上执行 HEXPIRE:命令不存在直接报错,功能上线要核对 redis_version
  • 字段过期后 HLEN 变化但客户端旧版本不识别 HTTL 返回,要做兼容判断

数据来源与参考

  • Redis 官方文档: HEXPIRE
  • Redis 7.4 Release Notes: Hash Field Expiration

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌