sql >> データベース >  >> NoSQL >> Redis

connect-redisのセッション数をカウントします

    はい、上記のように資格情報のみを提供する場合、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コマンドには線形の時間がかかるため、大規模なシステムでは、これを頻繁にクエリすることはお勧めできません。ユーザーがサインインしたときにインクリメントし、ユーザーがサインアウトしたときにデクリメントする別のカウンターを保持することをお勧めします。




    1. パイプライン集約を使用したSpringDataMongoDBルックアップ

    2. 日付付きのドキュメントをmongoに挿入するにはどうすればよいですか?

    3. ApacheAvroを使用したApacheKafkaでのロバストなメッセージシリアル化、パート1

    4. findOneAndUpdateから返すマングース選択フィールド