sql >> Database >  >> NoSQL >> Redis

Expres tijd verlopen en sessie opnieuw weergeven

Dit is mijn configuratie voor sessies en het werkt.
Ik heb de vervaltijd ingesteld op 5 seconden voor testdoeleinden.

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

Ik heb maxAge ingesteld en het werkte niet en toen ik ttl . instelde het werkte.

Opmerking: Ik heb getest en ontdekte dat ttl staat op de tweede plaats, maar maxAge is in milliseconden! (beetje raar)

u kunt sessiegegevens loggen met behulp van een middleware zoals hieronder om te zien of een paspoortobject bestaat of niet. Als er geen paspoortobject in de sessiegegevens is, is de gebruiker uitgelogd.

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


  1. Hoe maak je een lijst van alle MongoDB-databases in Node.js?

  2. Java+Redis versus gewone Java-efficiëntie voor data-intensieve toepassingen?

  3. Percentage OK-condities overeenkomend in mongodb

  4. Wat betekende dat MongoDB vóór v4 niet ACID-compatibel was?