Вот пример "сделать все правильно" (но это в CoffeeScript)

ой код, использующий socket.io в качестве WebSocket и backend с pub / sub redis.

var io = io.listen(server),
    buffer = [];

var redis = require("redis");

var subscribe = redis.createClient();  **<--- open new connection overhead**

io.on('connection', function(client) {

    console.log(client.request.headers.cookie);

    subscribe.get("..", function (err, replies) {

    });

    subscribe.on("message",function(channel,message) {

        var msg = { message: [client.sessionId, message] };
        buffer.push(msg);
        if (buffer.length > 15) buffer.shift();
        client.send(msg);
    });

    client.on('message', function(message){
    });

    client.on('disconnect', function(){
        subscribe.quit();
    });
});

Каждый новый запрос io будет создавать новое соединение с Redis. Если кто-то откроет браузер с 100 вкладками, то клиент Redis откроет 100 подключений. Это не выглядит красиво.

Можно ли повторно использовать подключение Redis, если файлы cookie совпадают? Так что, если кто-то откроет много вкладок браузера, также будет считаться открытым 1 соединение

Ответы на вопрос(5)

Ваш ответ на вопрос