0

我正在做一个相当大的项目,涉及在客户端之间发送数据。所以,我只是在研究一些新技术。无论如何,我想我会尝试一下 Nodejs。我只是有一个关于socketio和redis的问题。

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

4

1 回答 1

0

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

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 应该能够处理大量连接和订阅,但一如既往地建议进行基准测试。

于 2012-05-29T08:13:05.913 回答