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

タイムエクスプレスとredisセッションの有効期限

    これは私のセッションの構成であり、機能します。
    テストのために、有効期限を5秒に設定しました。

    app.use(session({
            store: new redisStore({
            host: 'localhost',
            port: 6379,
            client: redisClient,
            ttl: 5 // in seconds
        }),
        secret: 'this is secret',
        resave: false,
        saveUninitialized: true,
        // cookie: {maxAge: 5000}
    }));
    

    maxAgeを設定しました それは機能しませんでした。ttlを設定すると 機能した。

    注: テストしたところ、ttl は秒ですが、maxAgeはミリ秒です! (ちょっと変)

    以下のようなミドルウェアを使用してセッションデータをログに記録し、パスポートオブジェクトが存在するかどうかを確認できます。セッションデータにパスポートオブジェクトがない場合、ユーザーはログアウトされます。

    app.use((req, res, next) => {
        console.log('session:\n', req.session);
        next();
    });
    


    1. Luaで32ビットビット演算を使用して符号付き64ビット数を比較する

    2. 2つ以上のソートされたセットの交差

    3. MongoDB$count集約演算子

    4. MongoDBで好きな投票システムをモデル化する方法