回答
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的回答。 –