Redis
 sql >> Database >  >> NoSQL >> Redis

Qual è il timeout di sessione predefinito e come configurarlo quando si utilizza la sessione di primavera con Redis come back-end

Il modo più semplice per configurare il timeout della sessione quando si utilizza il repository redis è

@EnableRedisHttpSession(maxInactiveIntervalInSeconds = 60)

OPPURE @EnableRedissonHttpSession(maxInactiveIntervalInSeconds =1200) se è presente una dipendenza da redisson.

La sessione scade quando non è più disponibile nel repository. Il timeout può essere configurato con setDefaultMaxInactiveInterval(int) su entrambi RedisOperationsSessionRepository e MapSessionRepository . Il valore predefinito è 30 minuti .

Se stai usando l'avvio a molla, a partire dalla versione 1.3 sincronizzerà automaticamente il valore con server.session.timeout proprietà dalla configurazione dell'applicazione.

Nota che una delle carenze quando si utilizza la sessione primaverile è che javax.servlet.http.HttpSessionListener Le s non vengono invocate.

Se hai bisogno di reagire agli eventi di scadenza della sessione puoi iscriverti a SessionDestroyedEvent evento applicativo dell'applicazione primaverile.