Redis HSET命令

Redis HSET命令教程

Redis 的 HSET 命令用于将 哈希表 KEY 中的域 field 的值设为 value 。如果 KEY 不存在,一个新的哈希表被创建并进行 HSET 操作。如果域 field 已经存在于哈希表中,旧值将被覆盖。

Redis HSET命令详解

语法

192.168.98.70:6379> HSET KEY field value

参数

参数 描述
KEY 要设置的 HASH 的键。
field 要设置的域。
value 要设置的域对应的值。

返回值

如果 field 是哈希表中的一个新建域,并且值设置成功,返回 1 。如果哈希表中域 field 已经存在且旧值已被新值覆盖,返回 0 。

时间复杂度

O(1)

可用版本

>= 2.0.0

案例

field不存在

当 field 不存在时,设置成功

# field 不存在 192.168.98.70:6379> HSET haicoder.net name "haicoder" (integer) 1 192.168.98.70:6379> HGET haicoder.net name "haicoder" 192.168.98.70:6379> DEL haicoder.net (integer) 1

我们首先,使用 HSET 命令,设置键 haicoder.net 的 name 字段为 haicoder,此时 name 字段不存在,所以返回 1。

接着,我们使用 HGET 命令,获取刚设置的键 haicoder.net 的 name 字段的值,返回 haicoder。

field存在

当 field 存在时,会覆盖旧值

# field 存在 192.168.98.70:6379> HSET haicoder.net name "haicoder" (integer) 1 192.168.98.70:6379> HGET haicoder.net name "haicoder" 192.168.98.70:6379> HSET haicoder.net name "hicoder" (integer) 0 192.168.98.70:6379> HGET haicoder.net name "hicoder" 192.168.98.70:6379> DEL haicoder.net (integer) 1

我们首先,使用 HSET 命令,设置键 haicoder.net 的 name 字段为 haicoder,此时 name 字段不存在,所以返回 1。

接着,我们使用 HGET 命令,获取刚设置的键 haicoder.net 的 name 字段的值,返回 haicoder。再次使用 HSET 命令,设置键 haicoder.net 的 name 字段为 hicoder,此时 name 字段已经存在,所以返回 0。

最后,我们使用 HGET 命令,获取刚设置的键 haicoder.net 的 name 字段的值,返回 hicoder,此时旧值已经被覆盖。

Redis HSET命令总结

Redis 的 HSET 命令用于将哈希表 KEY 中的域 field 的值设为 value 。Redis HSET 命令语法:

192.168.98.70:6379> HSET KEY field value