在一个web应用程序中,如果我需要将一个事件写入一个队列,我会建立一个到redis的连接来写入事件。redis pub/sub模型是否需要持久连接到redis?
现在,如果我想要另一个后端进程(比如守护进程或cron作业)来处理或响应redis中的事件发布,那么是否需要持久连接?
对这个pub/sub过程如何在Web应用程序中工作一点困惑。
在一个web应用程序中,如果我需要将一个事件写入一个队列,我会建立一个到redis的连接来写入事件。redis pub/sub模型是否需要持久连接到redis?
现在,如果我想要另一个后端进程(比如守护进程或cron作业)来处理或响应redis中的事件发布,那么是否需要持久连接?
对这个pub/sub过程如何在Web应用程序中工作一点困惑。
我不完全确定,但我相信是的,pub/sub需要持久连接。
对于另一种方法,我会看看resque以及它如何处理。它不是使用pub/sub,而是简单地将项目添加到redis中的列表中,然后无论您使用哪个守护进程或cron作业都可以使用lpop命令获取第一个。
对不起,只给出一个伪答案,然后一个插件。
基本上有两种不同的消息模型:
我希望这是明确的。我建议你学习下面的命令来了解更多关于Redis的和消息语义:
文档此命令可在redis.io
所以我需要持久连接作为订户? – codecompleting
与Pub/Sub,是的。看看[这个](http://blog.joshsoftware.com/2011/01/03/do-you-need-a-push-notification-manager-redis-pubsub-to-the-rescue/)为例关于如何使用Pub/Sub和自定义ruby客户端实现持久消息。 – cbrauchli
某些简单(1行修补程序)的想法在Redis中本地添加PubSub的持久性 - http://abhinavsingh.com/customizing-redis-pubsub-for-message-persistence-part-2/ –