我正在寻找一个拥有" get或block"的数据存储。操作。如果该值存在,则此操作将返回与键/查询关联的值,或者阻止直到创建该值。
它就像一个发布/订阅消息队列,但有一个内存来处理订阅者在发布者发布结果后连接的情况。
此操作允许不相关的进程相互会合,并且它似乎是一个非常有用的架构构建块 - 尤其是在Web环境中 - 即Web请求启动后端服务器进程做一些工作,Web客户端可以通过未来的AJAX调用获得结果。
这是一篇关于如何使用mongodb完成此类操作的博客文章:
http://blog.mongodb.org/post/29495793738/pub-sub-with-mongodb
今天还有哪些其他解决方案?我可以用redis或rabbitmq做同样的事情吗?我已经查看了两者的文档,但目前还不清楚它是如何工作的。我应该使用0MQ滚动自己的服务器吗?那里有针对这个问题专门定制的东西吗?
答案 0 :(得分:0)
你是正确的Redis [1]和rabbitmq [2]都有发布/子功能。
[1] http://redis.io/topics/pubsub
[2] http://www.rabbitmq.com/tutorials/tutorial-three-python.html