Ja, connect-redis gebruikt intern redis.createClient() als je het alleen de referenties geeft zoals je hierboven hebt. U kunt het ook rechtstreeks aan een klant doorgeven.
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'
}));
Om het aantal sessies te krijgen, wilt u redis opvragen voor de set sleutels die overeenkomt met dat sleutelvoorvoegsel. Voor connect-redis is dit "sess:".
redisClient.keys("sess:*", function(error, keys){
console.log("Number of active sessions: ", keys.length);
});
Zoals ze in de redis-documentatie aangeven, neemt het commando toetsen lineaire tijd in beslag, dus in grote systemen is het geen goed idee om dit vaak op te vragen. U kunt beter een aparte teller houden die u verhoogt wanneer een gebruiker zich aanmeldt en verlaagt wanneer een gebruiker zich afmeldt.