【问题标题】:Redis pubsub a complex data structureRedis pubsub 一个复杂的数据结构
【发布时间】:2020-06-06 06:23:01
【问题描述】:

我想使用具有复杂数据结构(如哈希表)的 redis PUBSUB 功能。我在网上看到的所有例子都只发布字符串。

我希望能够做到这一点:

redis> HSET dog name "Fido" weight 65
redis> PUBLISH pets dog

当我尝试这个时,我得到的响应是"dog",而不是哈希表。

有什么办法可以做到吗?

我考虑过的另一种选择是这样的:让发布者执行与上述相同的命令,然后订阅者将收到文本,然后立即为该密钥发出HGETALL 命令。但这样会多次调用 redis,而不是一次性发送哈希表。

有没有办法通过 redis PUBSUB 发送复杂的数据结构?

【问题讨论】:

    标签: python redis nosql publish-subscribe


    【解决方案1】:

    有什么办法可以做到吗?

    没办法。您只能发布一个字符串。您的替代方案是解决它。

    有没有办法通过 redis PUBSUB 发送复杂的数据结构?

    为了避免多次调用 Redis,您可以将哈希序列化为 JSON 字符串,例如{"name" : "Fido", "weight" : 65},并发布 JSON 字符串。

    【讨论】:

      【解决方案2】:

      是的,我们可以做到。 首先创建你的哈希。哈希总是由唯一键组成,唯一键将是一个字符串,在发布您的哈希键之后。

      而不是进行哈希序列化。以上方法简单明了。

      发布哈希键的一大优势是,如果我们更新了一些字段并且我们已经将发布的键存储在列表或集合中,那么将来我们可以轻松获取最新/更新的哈希对象。

      它节省了我们的带宽和网络通话。

      【讨论】:

        猜你喜欢
        • 2012-02-07
        • 1970-01-01
        • 2020-02-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多