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

在我的应用程序 IM 使用 Redis 数据库。我已经通过他们的文档,但我不能找到 HSET 和 HMSET 之间的区别。

45809 次浏览

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

来自 正式文件:

根据 Redis 4.0.0,HMSET 被认为是不推荐的。请在新代码中使用 HSET。

HSET 键字段值 :

将存储在键的哈希中的字段设置为 value。如果键不存在,则创建一个包含散列的新键。如果字段已经存在于散列中,则将覆盖该字段。

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

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

有关更多重写命令信息,请参阅 点击这里

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

HSET 返回值(整数回复) :

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

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