HSETNX:只在字段不存在的情况下为它设置值
HSETNX
命令的作用和 HSET
命令的作用非常相似,它们之间的区别在于,HSETNX
命令只会在指定字段不存在的情况下执行设置操作:
- HSETNX hash field value
HSETNX
命令在字段不存在并且成功为它设置值时返回 1
,在字段已经存在并导致设置操作未能成功执行时返回 0
。
图 3-5 HSETNX
命令执行之前的 article::10086
散列
举个例子,对于图 3-5 所示的 article::10086
散列来说,执行以下 HSETNX
命令将不会对散列产生任何影响,因为 HSETNX
命令想要设置的 title
字段已经存在:
- redis> HSETNX article::10086 title "Redis Performance Test"
- (integer) 0 -- 设置失败
相反地,如果我们使用 HSETNX
命令去对尚未存在的 view_count
字段进行设置,那么这个命令将会顺利执行,并将 view_count
字段的值设置为 100
:
- redis> HSETNX article::10086 view_count 100
- (integer) 1 -- 设置成功
图 3-6 展示了 HSETNX
命令成功执行之后的 article::10086
散列。
图 3-6 HSETNX
命令执行之后的 article::10086
散列
其他信息
属性 | 值 |
---|---|
复杂度 | O(1) |
版本要求 | HSETNX 命令从 Redis 2.0.0 版本开始可用。 |