sql >> Base de Datos >  >> NoSQL >> Redis

Expire time express y redis session

Esta es mi configuración para las sesiones y funciona.
Configuré el tiempo de caducidad en 5 segundos con fines de prueba.

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}
}));

Configuré maxAge y no funcionó y cuando configuré ttl funcionó.

Nota: Probé y descubrí que ttl está en segundo pero maxAge está en milisegundos. (un poco raro)

puede registrar los datos de la sesión usando un middleware como el siguiente para ver si existe un objeto de pasaporte o no, si no hay ningún objeto de pasaporte en los datos de la sesión, el usuario se desconecta.

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