80

在我的应用程序中,我使用 redis 数据库。我浏览了他们的文档,但我找不到 HSET 和 HMSET 之间的区别。

4

3 回答 3

123

HSET 过去只能设置一个键值对。如果您需要一次设置多个,则必须使用 HMSET(M 表示多)。几年前改变了,允许两个命令接受多对。现在 HMSET 是多余的。

来自官方文档

根据 Redis 4.0.0,HMSET 被视为已弃用。请在新代码中使用 HSET。

于 2013-03-07T06:24:03.907 回答
19

HSET 键字段值

将存储在键中的哈希中的字段设置为值。如果 key 不存在,则创建一个包含哈希的新 key。如果字段已存在于哈希中,则将其覆盖。

HMSET 键字段值 [字段值 ...]

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

更多redis命令信息,请点击这里

于 2015-12-13T15:13:59.980 回答
4

HSET命令和命令之间的唯一区别是命令HMSET返回值

HSET 返回值(整数回复):

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

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

于 2018-10-05T15:30:39.313 回答