回答
socket.io是一個通信包,允許客戶端和服務器有一個長時間運行的連接,可以隨時發送其他消息。有多種原因可以使用socket.io連接來代替http請求,但主要的原因是當客戶端和服務器之間有連續的連接時,服務器可以隨時「推送」數據給客戶端而無需等待客戶請求。這對獲取服務器上發生的事情的即時通知非常有用。
Redis是一個快速的數據庫,通常將數據保存在內存中,而不是磁盤上,所以它通常用於臨時數據,而不必永久存儲。
有一個適用於socket.io的適配器,它使用redis,當您想在集羣或多服務器環境中使用socket.io時使用該適配器。然後,當你想通過他的socket.io連接發送數據到「Bob」時,它是使用redis數據庫的socket.io適配器,它跟蹤哪個服務器「Bob」連接到哪個服務器,以及如何發送數據給他。
除了與socket.io一起使用以外,Redis還有許多其他用途。從我所看到的情況來看,redis的一個主要用途是當你有多個服務器進程(在同一主機或不同主機上),都希望快速訪問某種「狀態」信息。在上述的socket.io中,狀態是「Bob當前連接到的服務器」。在其他情況下,它可能是客戶端會話對象或類似於其他任何狀態的信息,或者是所有服務器都想要訪問的其他狀態信息。
Socket.IO支持實時雙向事件通信。 它適用於每個平臺,瀏覽器或設備,同時關注可靠性和速度。
的Redis是一個內存中的數據結構存儲,用作數據庫,緩存和消息代理https://redis.io
爲什麼它們一起使用可能是創建某種實時的應用程序
NPM基本上是Node的包管理器,它使您能夠通過添加預開發的模塊來開發應用程序來快速輕鬆地擴展節點。
我希望這有助於
Socket.IO是一個JavaScript庫的實時Web應用程序。它支持Web客戶端和服務器之間的實時雙向通信。它有兩部分:在瀏覽器中運行的客戶端庫和用於node.js的服務器端庫。這兩個組件都有幾乎相同的API。
Redis是一個開源(BSD許可),內存數據結構存儲,用作數據庫,緩存和消息代理。它支持數據結構,如字符串,散列,列表,集合,具有範圍查詢的排序集,位圖,超級日誌和具有半徑查詢的地理空間索引。
希望這有助於,這裏是我獲得信息https://scalegrid.io/blog/using-redis-with-node-js-and-socket-io/的鏈接。如果你想獲得一些這些技術的實際經驗,它還有一個簡單的聊天程序供你創建。
謝謝,我會與他們創建一個聊天應用程序,以獲得一些實際的經驗。 –
享受它是學習的最佳途徑之一! – Chase
- 1. socket.io和socket.io-client的區別是什麼?
- 2. Socket.io,Redis Store和IE
- 3. Socket.io和Redis pub/sub
- 4. socket.io redis和內存泄漏
- 5. seneca redis pubsub transport和seneca redis queue之間的區別是什麼?
- 6. 什麼是Azure Redis緩存?
- 7. 我應該使用什麼? Socket.io客房或Redis酒吧?
- 8. Node.js + Angular + Redis + Socket.io堆棧有什麼好處?
- 9. 使用socket.io和redis實時通知
- 10. 帶LetsEncrypt,Redis,Laravel Forge和Digital Ocean的Socket.io
- 11. 使用Redis的和Socket.io用戶認證
- 12. 在Laravel中,除了免費使用redis和socket.io以外,還有什麼好處?
- 13. 使用pm2的集羣模塊與socket.io和socket.io-redis
- 14. node.js中的socket.io redis pub/sub
- 15. ejabberd與socket.io + redis的benetfits
- 16. socket.io中的socket變量是什麼
- 17. Socket.IO和Firebase有什麼區別?
- 18. engine.io和socket.io有什麼區別?
- 19. Redis HMSET文檔:'hash'是什麼意思?
- 20. Redis和StrictRedis的API有什麼區別?
- 21. seneca和redis之間有什麼關係
- 22. socket.io socket.set和socket.get - 什麼是回調參數?
- 23. 什麼是Socket.IO發送和獲取數據(確認)?
- 24. memcached和Redis等工具的主要用例是什麼?
- 25. 要知道關於socket.io和Redis的和nginx的東西
- 26. 爲什麼要使用Socket.io?
- 27. 不能得到socket.io發射器與socket.io-redis一起工作
- 28. redis-trib代表什麼?
- 29. socket.io-redis在heroku上給出錯誤
- 30. Node js redis socket.io pubsub實時更新
清除了一些東西。 謝謝!我會接受yoru的回答。 –