在一個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/ –