Вы должны оставить Redis открытым или открыть и выйти из него после каждого использования в узле?

у меня есть сокет.сервер ввода-вывода с помощью 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 ответов


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

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

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