HSETNX

仅当字段不存在时才设置哈希中字段的值。

语法

HSETNX key field value

引入版本:2.0.0

复杂度摘要:O(1)

仅当 field 尚不存在时,才将 key 处存储的哈希中的 field 设置为 value。如果 key 不存在,则会创建一个包含哈希值的新键。如果field已经存在,则该操作无效。

必需参数

key

保存哈希值的键的名称。

field

要设置的字段,仅当该字段尚不存在时。

value

要设置的值。

示例

redis> HSETNX myhash field "Hello"
(integer) 1
redis> HSETNX myhash field "World"
(integer) 0
redis> HGET myhash field
"Hello"

Redis Software 与 Redis Cloud 兼容性

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

返回值

RESP2

以下之一: * 整数回复:0(如果该字段已存在于哈希中并且未执行任何操作)。 * 整数回复:如果该字段是哈希中的新字段并且已设置值,则为 1。

RESP3

以下之一: * 整数回复:0(如果该字段已存在于哈希中并且未执行任何操作)。 * 整数回复:如果该字段是哈希中的新字段并且已设置值,则为 1。

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