Вы должны оставить Redis открытым или открыть и выйти после каждого использования в узле? - PullRequest
8 голосов
/ 14 декабря 2011

У меня есть сервер socket.io, использующий redis под названием «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 Ответ

2 голосов
/ 14 декабря 2011

Первый - это предпочтительный синтаксис, потому что вы не хотите устанавливать новое соединение с Redis каждый раз, когда клиенты подключаются к Socket.IO. Если у вас подключено 1000 пользователей, хотите ли вы иметь 1000 подключений к Redis или только одно (хорошо, может быть, больше, поскольку вы бы породили больше серверов)?

Как подсказал @racar, вам следует взглянуть и на этот вопрос:

Как повторно использовать соединение redis в socket.io?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...