Redis队列:在循环中调用BLPOP / BRPOP?

时间:2016-11-02 20:54:22

标签: node.js redis message-queue

我想用Redis构建一个简单的队列系统,而不依赖于pub / sub。所以我的(Nodejs)消费者会在列表上调用BRPOP,没有什么非常原始的。

问题是,是否完全和完全依赖于无超时BRPOP的阻塞行为 - 意味着它将无限期地阻止连接,直到事件被推送到列表 - 或者调用{{1在一个循环中,短暂的超时。

两种解决方案的优点和缺点是什么?例如,长时间阻塞连接/进程可能是个问题吗?

1 个答案:

答案 0 :(得分:0)

我最终使用的解决方案是为每个工作者保持两个客户端:一个用于阻塞功能brpoplpush,另一个用于进行工作人员可能需要的非阻塞redis调用。