1. HSETNX key field value

起始版本:2.0.0

时间复杂度:O(1)

将哈希表 key 中的域 field 的值设置为 value ,当且仅当域 field 不存在。

若域 field 已经存在,该操作无效。

如果 key 不存在,一个新哈希表被创建并执行 HSETNX 命令。

1.1. 返回值:

设置成功,返回 1 。

如果给定域已经存在且没有操作被执行,返回 0 。

1.2. DEMO

# 如果key不存在,先创建一个hash表,再执行hsetnx操作
127.0.0.1:6380> EXISTS user:2
(integer) 0
127.0.0.1:6380> HSETNX user:2 id 2
(integer) 1
127.0.0.1:6380> hget user:2 id
"2"

# 如果一个新的field被设置成功,返回1
127.0.0.1:6380> hget user:2 age
(nil)
127.0.0.1:6380> hset user:2 age 20
(integer) 1
127.0.0.1:6380> hget user:2 age
"20"

# 如果field已存在,该操作无效,返回0
127.0.0.1:6380> HSETNX user:2 age 18
(integer) 0
127.0.0.1:6380> hget user:2 age
"20"

# 如果key的类型不是hash,返回错误
127.0.0.1:6380> set mykey2 value2
OK
127.0.0.1:6380> HSETNX mykey2 age 12
(error) WRONGTYPE Operation against a key holding the wrong kind of value

1.3. 参考

Copyright © wychuan.com 2017 all right reserved,powered by Gitbook该文件修订时间: 2017-10-17 02:48:52

results matching ""

    No results matching ""