当前位置:  开发笔记 > 后端 > 正文

Redis pubsub vs阻止操作

如何解决《Redispubsubvs阻止操作》经验,为你挑选了1个好方法。

我该如何选择pubsub和redis的阻塞操作?

Redis提供阻塞操作BLPOP,阻止操作直到可以从列表中弹出元素.为什么我不应该使用它来实现功能PUBSUB.PUBSUB允许您定义比基本列表更高级别构造的通道.如果我的用例很简单,没有多个通道,我可以使用基本的阻塞操作.



1> Didier Spezi..:

使用带阻塞操作的列表和发布/订阅设施之间存在重要区别.

具有阻塞操作的列表可以很容易地用作队列,而发布/订阅通道不涉及任何排队.pub/sub中涉及的唯一缓冲区与通信(即套接字管理)有关.这意味着当消息发布时,它将尽快发送给订阅者,它永远不会保存在Redis中.结果是如果订户不再监听Redis套接字,则这些订户的项目将丢失.

另一个重要的区别是pub/sub机制可以组播项目.当项目发布时,它们将被发送给所有订阅者.相反,考虑到多个守护进程使用阻塞操作在Redis中使列表出列,将项目推送到列表将导致项目由一个且仅一个守护进程出列.

阻止列表(即队列)和发布/发布通道实际上是互补的设施.

如果您不需要多播项目,则应该使用带阻塞操作的列表,因为它们更可靠.


很好的解释.谢谢.
推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有