我正在實現一個使用節點js和redis的TCP聊天服務器,但是我似乎無法使用發佈和訂閱在redis上保留聊天數據,因此當我離開聊天室並重新進入,我不會更新最新的消息,我應該如何實現這樣的東西?Redis發佈/訂閱數據持久性
0
A
回答
3
發佈並不意味着存儲在Redis的,即使你選擇了磁盤存儲。當它收到消息時,它只會查找與請求的頻道的連接並轉發給每個頻道。所以,它不存儲任何東西。即使這樣做,它應該不斷地嘗試轉發消息(因爲它是一個pub/sub模型),這不是非常有效。相反,您還應該將(lpush)郵件推送到一個隊列中,以便它們可以被存儲。當客戶端連接並且沒有郵件時,它可以從隊列中檢索這些郵件(無需彈出,所以其他新手也可以使用)以及然後訂閱頻道並接收新消息。
1
相關問題
- 1. 消息持久 - Redis的發佈/訂閱
- 2. Redis發佈/訂閱限制
- 3. 與發佈/訂閱持久數據高速緩存的OnChange
- 4. 持久訂閱
- 5. 持久訂閱ActiveMQ
- 6. 如何使用redis發佈/訂閱
- 7. Redis發佈/訂閱:查看目前訂閱的頻道
- 8. Redis發佈和訂閱不支持動態密鑰
- 9. 的ActiveMQ:如何訂閱/非持久性訂閱
- 10. 持久存儲的發佈/訂閱中間件
- 11. JMS持久訂閱者持久性消息不會持久存在數據庫中
- 12. Redis禁用持久性
- 13. 發佈/訂閱
- 14. 數據持久性
- 15. 持久性數據
- 16. 維持持久性的正確MQTT訂閱代碼
- 17. Mule發佈訂閱
- 18. NServiceBus發佈/訂閱
- 19. 對於非持久訂閱者,非持久性jms消息會丟失
- 20. iphone開發 - 數據持久性UI
- 21. 無法在持久訂閱上創建訂閱
- 22. 使用ActiveMQ取消訂閱持久訂閱者
- 23. 是否通過php頭重定向發佈數據持久性?
- 24. wso2mb:與持久訂閱者錯誤
- 25. 主題訂閱持久隊列
- 26. 瀏覽WebSphere MQ持久訂閱
- 27. Redis是否具有選定鍵/數據的持久性功能?
- 28. Redis發佈/訂閱 - 同一個進程監聽一個頻道
- 29. Redis中的「歸檔」發佈/訂閱消息
- 30. Redis和Faye中的分級發佈/訂閱和推送通知