Redis pubsub一个复杂的数据结构

问题描述 投票:0回答:2

我想将redis PUBSUB功能与哈希表等复杂的数据结构一起使用。我在网上看到的所有示例仅发布字符串。

我希望能够做到这一点:

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

[尝试此操作时,我得到的响应是"dog",而不是哈希表。

我有办法吗?

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

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

python redis nosql publish-subscribe
2个回答
1
投票

我有办法吗?

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

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

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


0
投票

是的,我们可以做到。首先创建您的哈希。哈希始终由唯一键组成,并且唯一键将是发布您的哈希键之后的字符串。

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.