我想将redis PUBSUB功能与哈希表等复杂的数据结构一起使用。我在网上看到的所有示例仅发布字符串。
我希望能够做到这一点:
redis> HSET dog name "Fido" weight 65
redis> PUBLISH pets dog
[尝试此操作时,我得到的响应是"dog"
,而不是哈希表。
我有办法吗?
我考虑过的另一种方法是:让发布者执行与上述相同的命令,然后订阅者将收到文本,然后立即为该密钥发出HGETALL
命令。但是这样就可以多次调用redis,而不是一次发送哈希表。
有没有办法可以通过Redis PUBSUB发送复杂的数据结构?
我有办法吗?
没办法。您只能发布一个字符串。您的替代方法是解决此问题的方法。
有没有办法可以通过Redis PUBSUB发送复杂的数据结构?
为了避免多次调用Redis,您可以将哈希序列化为JSON字符串,例如{“ name”:“ Fido”,“ weight”:65},并发布JSON字符串。
是的,我们可以做到。首先创建您的哈希。哈希始终由唯一键组成,并且唯一键将是发布您的哈希键之后的字符串。
而不是进行哈希序列化。以上方法简单明了。
发布哈希键的一大优势是,如果我们更新了某些字段,并且已经将发布键存储在列表或集合中,将来我们就可以轻松获取最新/更新的哈希对象。
它节省了我们的带宽和网络通话。