您是否应该打开Redis,或者在节点中每次使用后打开并退出?

时间:2011-12-13 22:29:44

标签: node.js redis socket.io

我有一个使用redis的socket.io服务器,名为“server.js”,用于启动节点服务器。目前它是这样的:

var client = redis.createClient()
var io = require('socket.io').listen(80);

io.sockets.on('connection', function (socket) {
  client.set(); // do something with redis
});

然后我启动我的服务器,它就会活着。这是错的吗?应该是这样吗?

var io = require('socket.io').listen(80);

io.sockets.on('connection', function (socket) {
  var client = redis.createClient()
  client.set(); // do something with redis
  client.quit();
});

我是否应该继续打开和关闭redis,或者我可以打开它一次并将其打开?以上哪个片段是启动服务器的正确方法?

1 个答案:

答案 0 :(得分:2)

第一个是优先语法,因为每次客户端连接到Socket.IO时都不想建立新的redis连接。如果你有1000个用户连接,你想要有1000个连接到Redis或只有一个(好吧可能更多,因为你产生更多的服务器)?

正如@racar建议的那样,你应该看看这个问题:

How to reuse redis connection in socket.io?