Cómo manejar pares de usuario y socket con node.js + redis

Directo al punto: estoy usando node.js, socket.io y redis para un sistema de chat privado.

On connect user pasa la identificación de su sitio web (userID) al servidor node.js. Él puede tener múltiples conexiones, así que tengo que emparejar socketID (de cada conexión) y userID de alguna manera. Estoy pensando en usar redis para almacenar pares de ID de usuario-> ID de sesión. Sin embargo, cuando el usuario se desconecta, necesito eliminar ese par de redis ... pero solo tengo socketID, no userID, así que no puedo seleccionar con esa tecla ...

Ahora, ¿me estoy acercando a esto de la manera incorrecta o debo almacenar los pares userID-> socketID y socketID-> userID? ¿Quizás alguien podría ofrecer una solución más elegante?

Respuestas a la pregunta(2)

Su respuesta a la pregunta