1. HSET key field value
起始版本:2.0.0
时间复杂度:O(1)
将哈希表 key 中的域 field 的值设为 value 。
如果 key 不存在,一个新的哈希表被创建并进行 HSET 操作。
如果域 field 已经存在于哈希表中,旧值将被覆盖。
1.1. 返回值:
如果 field 是哈希表中的一个新建域,并且值设置成功,返回 1 。 如果哈希表中域 field 已经存在且旧值已被新值覆盖,返回 0 。
1.2. DEMO
# 如果指定的key不存在,先创建一个新的hash表,再执行hset操作
# 如果field不存在,并且值设置成功,返回1
127.0.0.1:6380> HSET user:1 id 1
(integer) 1
127.0.0.1:6380> hset user:1 name lisi
(integer) 1
127.0.0.1:6380> HSET user:1 age 18
(integer) 1
127.0.0.1:6380> HGETALL user:1
1) "id"
2) "1"
3) "name"
4) "lisi"
5) "age"
6) "18"
# 如果指定的key不是hash类型,则报错
127.0.0.1:6380> set mykey1 test
OK
127.0.0.1:6380> HSET mykey1 name zhangsan
(error) WRONGTYPE Operation against a key holding the wrong kind of value
# 如果指定的key的field已存在,覆盖值,返回0
127.0.0.1:6380> HGET user:1 name
"lisi"
127.0.0.1:6380> hset user:1 name zhangsan
(integer) 0
127.0.0.1:6380> hget user:1 name
"zhangsan"