2011-12-13 33 views
8

我有一个使用redis的socket.io服务器,名为“server.js”,它启动了一个节点服务器。目前它是这样的:您是否应该让Redis打开,或者在节点中每次使用后打开并退出?

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,或者我可以打开它并保持打开吗?上述哪一个片段是启动服务器的正确方法?

+0

见:http://stackoverflow.com/questions/5739357/how-to-reuse-redis-connection -in插座-IO – malletjo 2011-12-13 22:34:47

回答

2

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

由于@racar建议,你应该看一看也是在这个问题:

How to reuse redis connection in socket.io?

相关问题