gpt4 book ai didi

redis - 为什么 Redis Pub/Sub 不允许在回调中访问 Redis?

转载 作者:可可西里 更新时间:2023-11-01 11:21:57 25 4
gpt4 key购买 nike

关于如何使用 Redis Pub/Sub(来自 ServiceStack,但我不认为它只是 ServicStack),我真的很困惑。我没有看到具有此限制的 Pub/Sub 的用处,因为我们通常使用 Redis 而不仅仅是作为消息队列。因此,如果您不能从订阅回调中执行任何 Redis 命令,您最终只能创建自己的消息处理程序而不是使用 Pub/Sub,不是吗?

简而言之,我的问题是如何正确使用 Pub/Sub,以便在有消息时可以访问 Redis?如果没有办法,那么 Pub/Sub 就不能用于很多应用。 - 我没有发布代码,因为我已经知道创建 Pub/Sub 连接的代码。我正在寻找软件模式/架构建议并确认这是一个问题。

最佳答案

Redis Pub/Sub 的文档描述了如何在 Redis 中实现 Pub/Sub。

当 Redis 客户端成为订阅者时,它会进入“监听模式”,在该模式下它会有效地等待其他客户端发布的消息。在此模式下,“已订阅”客户端可以执行的唯一有效操作是订阅或取消订阅更多 channel 。当订阅者取消订阅所有 channel 时,客户端会自动退出订阅者模式并返回作为普通客户端运行。

因此,虽然订阅的客户端(和连接)不能用于任何其他用途,但没有什么可以阻止您使用不同的客户端在消息回调中与 Redis 对话。

关于redis - 为什么 Redis Pub/Sub 不允许在回调中访问 Redis?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23961770/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com