【问题标题】:Are HSET and HMSET same in RedisRedis 中的 HSET 和 HMSET 是否相同
【发布时间】:2018-03-16 22:29:00
【问题描述】:

我在浏览 Redis 文档并尝试使用 Redis 时遇到了 HSETHMSET 命令。而且我没发现它们之间有什么区别,我尝试搜索,发现了以下问题,

What is the difference between HSET and HMSET method in Redis database

和接受的答案状态:

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

但是当我尝试时,HSET 也允许一次设置多个字段/值对。

请看下面的截图,在我看来,两者的工作原理是一样的:

谁能给我解释一下两者之间的区别。或者用例,应该使用一个而不是另一个。

谢谢

【问题讨论】:

  • 为什么投反对票?

标签: database redis


【解决方案1】:

我是链接主题中已接受答案的作者。:)

显然,从那时起,HSET 命令已更新为可变参数(与 HMSET 相同)。在我的本地 redis 版本(4.0.2)中,它确实可以设置多个键值对(尽管redis-cli 中的命令语法提示并未表明这是可能的)。但是,在 redis.io 上支持交互式控制台的版本仍然不支持。

redis> HSET foo a 1 b 2 c 3
ERR ERR wrong number of arguments for 'hset' command

所以是的,这些现在看起来确实是相同的。

【讨论】:

    【解决方案2】:

    2019 年正在研究它:)

    如果有人好奇,来自官方文档:

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

    https://redis.io/commands/hmset

    【讨论】:

      【解决方案3】:

      无论如何 HMSET / HSET 是一个历史设计,HSET 只做 HMSET,你可以用 HMSET 替换 HSET 调用,一切正常。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-02-22
        • 1970-01-01
        • 1970-01-01
        • 2015-07-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-18
        相关资源
        最近更新 更多