redis命令之哈希表类型hsetnx命令用法详情(不支持多field)

哈希表

HSETNX命令

命令:hsetnx key filed value,该命令同时只能对一个域field进行操作,也就是说hsetnx命令如果同时对两个或多个field字段进行操作就会报错(所以,如果想通过hsetnx命令添加多个字段的话,只能一个命令一个命令的执行),并且如果field字段是新添加的字段的话会返回1,覆写value的话就会返回0

127.0.0.1:6381> flushall
OK
127.0.0.1:6381> hsetnx user_id_1 name "Jordan"
(integer) 1
127.0.0.1:6381> hsetnx user_id_1 name "Jordan" age 18 #命令中出现第二个field域,不会被执行
(error) ERR wrong number of arguments for 'hsetnx' command
127.0.0.1:6381> hget user_id_1 name
"Jordan"
127.0.0.1:6381> hget user_id_1 age #验证了命令中出现第二个field域,不会被执行
(nil)
127.0.0.1:6381> hsetnx user_id_1 name "James" sex "man" #出现第二个field域,不会被执行
(error) ERR wrong number of arguments for 'hsetnx' command
127.0.0.1:6381> hsetnx user_id_1 sex "man" #一次添加一个field,会被执行,返回1
(integer) 1
127.0.0.1:6381> hget user_id_1 name
"Jordan"
127.0.0.1:6381> hget user_id_1 sex
"man"
127.0.0.1:6381> hsetnx user_id_1 name "James"  #域name已经存在,所以不会被执行
(integer) 0
127.0.0.1:6381> hget user_id_1 name  #value没有被覆写
"Jordan"
127.0.0.1:6381> flushall
OK
127.0.0.1:6381> hsetnx user_id_1 name "Jordan" sex "man" #hsetnx命令出现多个域,不会被执行
(error) ERR wrong number of arguments for 'hsetnx' command

 

你可能感兴趣的:(缓存,redis,数据库,redis,数据库,缓存)