Redis 哈希(hash)命令

Redis hsetnx 命令用于将存储在 key 处的 hash 中的字段设置为 value,仅当该字段尚不存在时。如果key不存在,则创建一个包含hash的新的key。如果该字段已存在,则此操作无效。

意思是Redis hsetnx 命令仅当字段不存在时,才去赋值,而 Redis hset 命令 不管它存在不存在都赋值。

语法:

hsetnx key_name field value    

可用版本

>=2.0.0.

返回值

整数

  • 如果该字段是hahs中的新字段并且设置了值,则为 1。
  • 如果该字段已存在于hash中则不执行任何操作,则为 0。

例子:

127.0.0.1:6379> hsetnx langhash lan1 "example"
(integer) 1
127.0.0.1:6379> hsetnx langhash lan2 "Tutorial"
(integer) 1
127.0.0.1:6379> hsetnx langhash lan1 "PHP"
(integer) 0
127.0.0.1:6379> hsetnx langhash lan2 "JavaScript"
(integer) 0
127.0.0.1:6379> hget langhash lan1
"example"
127.0.0.1:6379> hget langhash lan2
"Tutorial"