Sì, connect-redis usa redis.createClient() internamente se gli fornisci solo credenziali come quelle sopra. Puoi anche passarlo direttamente come cliente.
var redisClient = redis.createClient(6379, "127.0.0.1", { auth_pass: "RedisPASS" });
redisClient.select(2);
app.use(express.session({
store: new RedisStore({
client: redisClient
}),
secret: '1234567890QWERTY'
}));
Per ottenere il numero di sessioni, dovrai interrogare redis per il set di chiavi che corrispondono a quel prefisso di chiave. Per connect-redis questo è "sess:".
redisClient.keys("sess:*", function(error, keys){
console.log("Number of active sessions: ", keys.length);
});
Come affermano nella documentazione di redis, il comando keys richiede un tempo lineare, quindi nei sistemi di grandi dimensioni non è una buona idea interrogarlo frequentemente. Faresti meglio a mantenere un contatore separato che incrementi quando un utente accede e decrementa quando un utente si disconnette.