HGETDEL

返回字段的值并将其从哈希中删除。

语法

HGETDEL key FIELDS numfields field [field ...]

引入版本:8.0.0

复杂度摘要:O(N)

获取和删除给定哈希键的一个或多个字段的值。当最后一个字段被删除时,该键也将被删除。

必需参数

key

保存哈希值的键的名称。

FIELDS numfields field [field ...]

获取然后删除的哈希字段。 numfields 是字段的数量,后面跟着这些字段的名称。

示例

redis> HSET mykey field1 "Hello" field2 "World" field3 "!"
(integer) 3
redis> HGETALL mykey
1) "field1"
2) "Hello"
3) "field2"
4) "World"
5) "field3"
6) "!"
redis> HGETDEL mykey FIELDS 2 field3 field4
1) "!"
2) (nil)
redis> HGETALL mykey
1) "field1"
2) "Hello"
3) "field2"
4) "World"
redis> HGETDEL mykey FIELDS 2 field1 field2
1) "Hello"
2) "World"
redis> KEYS *
(empty array)

Redis Software 与 Redis Cloud 兼容性

Redis
软件
Redis
Cloud
说明
✅ 标准
✅ 主动-主动
✅ 标准
✅ 主动-主动

返回值

RESP2

数组回复:已删除字段及其值的列表,或 nil 表示不存在的字段。

RESP3

数组回复:已删除字段及其值的列表,或 nil 表示不存在的字段。

资料来源:Redis 官方 HGETDEL 文档;中文内容参考 Redis 文档许可。