gpt4 book ai didi

redis - redis pub/sub 模型是否需要与 redis 的持久连接?

转载 作者:IT王子 更新时间:2023-10-29 05:54:46 27 4
gpt4 key购买 nike

在 Web 应用程序中,如果我需要将事件写入队列,我会连接到 Redis 以写入事件。

现在,如果我想要另一个后端进程(比如守护进程或 cron 作业)来处理或响应 redis 中的事件发布,我是否需要持久连接?<​​/p>

对这个发布/订阅过程在 Web 应用程序中的工作方式有点困惑。

最佳答案

基本上在 Redis 中有两种不同的消息传递模型:

  • 即发即弃/一对多:发布/订阅。当一条消息被 PUBLISH-ed 时,所有的订阅者都会收到它,但是这条消息会永远丢失。如果客户端未订阅,则无法取回。
  • 持久队列/一对一:列表,可能与 BLPOP 等阻塞命令一起使用。对于列表,您有一个生产者推送到列表中,一个或多个消费者在等待元素,但是一条消息只会到达一个等待的客户。有了列表,你就有了持久性,消息将等待客户端弹出而不是消失。因此,即使没有人在听,也会有积压(与您的可用内存一样大,或者您可以使用 LTRIM 限制积压)。

我希望这是清楚的。我建议您研究以下命令以了解有关 Redis 和消息传递语义的更多信息:

  • LPUSH/RPUSH、RPOP/LPOP、BRPOP/BLPOP
  • 发布、订阅、订阅

此命令的文档可在 redis.io 上找到

关于redis - redis pub/sub 模型是否需要与 redis 的持久连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7662896/

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