node.js - socketio 和 redisstore 扩展效率

标签 node.js redis socket.io

我正在从事一个涉及在客户端之间发送数据的大型项目。所以,我只是在研究一些新技术。不管怎样,我想试试 Nodejs。我只是有一个关于 socketio 和 redis 的问题。

当我们在 socketio 中使用 pub/sub 功能时,是否每个客户端连接都会创建一个到 redis 的新连接?或者,socketio 是否使用最多创建三个连接(总共,无论客户端数量多少)来执行发布/订阅操作?

最佳答案

来自 the source ,似乎每个客户端连接都有两个关联的 Redis 订阅(代码中的 this.store),但是每个 socket.io 服务器只有三个与 Redis 的连接(source)。

this.store.subscribe('message:' + data.id, function (packet) {
  self.onClientMessage(data.id, packet);
});

this.store.subscribe('disconnect:' + data.id, function (reason) {
  self.onClientDisconnect(data.id, reason);
});

Redis 应该能够处理大量连接和订阅,但一如既往地建议进行基准测试。

关于node.js - socketio 和 redisstore 扩展效率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10791177/

相关文章:

key - 如何使用 Redis 作为分布式键值存储

python - 导入错误 : No module named redis and using geodis

javascript - Blackberry 的 Socket.IO 支持

javascript - 提高 socket io 中的音质,将音频数据从客户端发送到服务器返回客户端

java - 如何返回 CloseableHttpResponse?

javascript - 从 EJS 中的日期对象切片时间戳 - Javascript、HTML、Node.js

javascript - Angular/MEAN.io 中的路由安全漏洞?

node.js - NodeJS 不会提供静态文件,即使使用 express.static

node.js - Node 中 Mongoose 模式引用的问题

heroku - 在 heroku 上启动 node/redis/socket 应用程序时出现问题