2011-12-13 6 views
8

Mam serwer socket.io używający redis o nazwie "server.js", który uruchamia serwer węzła. Obecnie jest coś takiego:Czy chcesz zostawić Redis otwarte, czy otworzyć i zamknąć po każdym użyciu w węźle?

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

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

Następnie odpalam mój serwer i po prostu pozostaje on żywy. Czy to źle? Czy powinno tak być?

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(); 
}); 

Czy mam otwierać i zamykać redis, czy mogę otworzyć go raz i pozostawić otwarty? Który z powyższych fragmentów jest właściwym sposobem na uruchomienie serwera?

+0

patrz: http://stackoverflow.com/questions/5739357/how-to-reuse-redis-connection -in-socket-io – malletjo

Odpowiedz

2

Pierwsza to preferowana składnia, ponieważ nie chcesz tworzyć nowego połączenia redis za każdym razem, gdy klienci łączą się z Socket.IO. Jeśli masz 1000 podłączonych użytkowników, chciałbyś mieć 1000 połączeń z Redis lub tylko jedną (ok może więcej, ponieważ masz odradzać więcej serwerów)?

Jak @racar zasugerował, należy spojrzeć również na to pytanie:

How to reuse redis connection in socket.io?

Powiązane problemy