Redis数据库中HSET和HMSET方法有什么区别

时间:2013-03-07 06:21:19

标签: database redis

在我的应用中使用redis数据库。我已经完成了他们的文档,但我找不到HSET和HMSET之间的区别。

3 个答案:

答案 0 :(得分:60)

HMSET与HSET类似,但它允许一次设置多个字段/值对。

更新

截至目前,2017年10月,当前redis版本(我的机器上为4.0.2)的HSET也可以设置多个键值对。

127.0.0.1:6379> HSET foo a 1 b 2
(integer) 2
127.0.0.1:6379> HGETALL foo
1) "a"
2) "1"
3) "b"
4) "2"

所以这些命令现在是相同的。

答案 1 :(得分:17)

HSET key field value

将key中存储的哈希中的字段设置为value。如果key不存在,则创建一个包含哈希的新密钥。如果哈希中已存在字段,则会覆盖该字段。

HMSET key field value [field value ...]

将指定字段设置为key中存储的哈希值中的相应值。此命令将覆盖散列中的所有现有字段。如果key不存在,则会创建一个包含哈希的新密钥。

有关更多redis命令的信息,click here

答案 2 :(得分:1)

命令HSETHMSET之间的唯一区别是命令的返回值

HSET返回值(整数回复):

  • #(如果该字段是哈希中的新字段,并且已设置值)。 (其中#是创建的新字段的数量)
  • 如果该字段已经存在于哈希中并且值已更新,则为0。

HMSET返回一个简单的字符串作为答复。