首页/数据/数据库速查/HDEL 删除字段与空键自动清理
本包目录(495 条)
MySQL 基础与连接36 条SQL 语法52 条用户与权限21 条备份与恢复56 条主从复制与高可用53 条性能与调优57 条
Redis 命令96 条
Redis 运维与场景124 条

HDEL 删除字段与空键自动清理

HDEL 删除一个或多个字段并返回实际删除数;Hash 最后一个字段被删后键自动消失,不会残留空 Hash。

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

示例

示例
HSET cart:u88 sku1 2 sku2 1
HDEL cart:u88 sku1          # 1
HDEL cart:u88 sku1 sku2     # 1(sku1 已删,只数真正删掉的)
EXISTS cart:u88             # 0:字段删空后键自动删除
HDEL cart:u88 sku2          # 0:键都不存在了
返回被删除字段的个数
自动清理Hash 为空时键被删除
批量HDEL key f1 f2 f3 ...
和 List 的 LREM 不同,HDEL 按字段名删除且没有「保留空容器」的问题;批量删大 hash 时注意单命令耗时。

易错点

  • 以为删除字段后键还在:空 Hash 自动删除,后续 HGET 变 nil 不是 bug
  • 用 DEL 删单字段:会把整个 Hash 一起删掉,别拿 DEL 当 HDEL 用

数据来源与参考

  • Redis 官方文档: HDEL

相关工具

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