はい、上記のように資格情報のみを提供する場合、connect-redisは内部でredis.createClient()を使用します。クライアントに直接渡すこともできます。
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'
}));
セッション数を取得するには、そのキープレフィックスに一致するキーのセットについてredisにクエリを実行する必要があります。 connect-redisの場合、これは「sess:」です。
redisClient.keys("sess:*", function(error, keys){
console.log("Number of active sessions: ", keys.length);
});
redisのドキュメントに記載されているように、keysコマンドには線形の時間がかかるため、大規模なシステムでは、これを頻繁にクエリすることはお勧めできません。ユーザーがサインインしたときにインクリメントし、ユーザーがサインアウトしたときにデクリメントする別のカウンターを保持することをお勧めします。