Cómo reutilizar la conexión redis en socket.io

Aquí está mi código usando socket.io como WebSocket y backend con 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();
    });
});

Cada nueva solicitud io creará una nueva conexión de redis. Si alguien abre el navegador con 100 pestañas, el cliente redis abrirá 100 conexiones. No se ve bien.

¿Es posible reutilizar la conexión de redis si las cookies son las mismas? Entonces, si alguien abre muchas pestañas del navegador, también se trata como una conexión abierta 1.

Respuestas a la pregunta(5)

Su respuesta a la pregunta