3
在Redis的发布/订阅如果在没有用户的东西公布,数据类型的丢失。Redis的出版时,没有用户
我想要的是什么样的通知出版商,当用户订阅。
一种方法可以保持在发布一个循环,并打破时,出版商找到至少一个用户环路。但我认为这不是一个好方法。 (我也不能保持指数退后)。
while(1) {
$numOfSubscriber = $redis->publish($channel1, $encodePublish);
if($numOfSubscriber > 0)
break;
}
有没有更好的方法来解决同样的问题?
我正在使用Predis。
我并不想真正存储任何值,在我的应用我也不在乎是当出版商出版应该有一些用户捕捉该消息没有把出版商在一个循环。如果订阅者在发布者之后启动,则可能会错过发布者的消息。 – amitchhajer 2012-08-14 10:41:54
是的,这就是为什么你可以存储它们,让用户弹出它们。或者只有在没有用户的情况下才可以推送它们。但正如我所说,没有关于你的情况的更多信息,很难给出直接的建议。 – 2012-08-14 10:46:22
我的用例是:如果其他工作人员(一个发送ack)准备就绪,我想向其中一个工作人员发送确认以开始工作并将一些数据推送到队列中。所以它发送了确认信息,工作人员开始推送数据。这是否更好解释?我试图解释我的用例。一种解决方案可能是保留一套pub/sub来控制。 – amitchhajer 2012-08-14 10:52:42