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

¿Cuál es el tiempo de espera predeterminado de la sesión y cómo configurarlo cuando se usa Spring Session con Redis como backend?

La forma más fácil de configurar el tiempo de espera de la sesión cuando se usa el repositorio de redis es

@EnableRedisHttpSession(maxInactiveIntervalInSeconds = 60)

O @EnableRedissonHttpSession(maxInactiveIntervalInSeconds =1200) si existe una dependencia de redisson.

La sesión expira cuando ya no está disponible en el repositorio. El tiempo de espera se puede configurar con setDefaultMaxInactiveInterval(int) en ambos RedisOperationsSessionRepository y MapSessionRepository . El valor predeterminado es 30 minutos .

Si está utilizando Spring Boot, a partir de la versión 1.3 sincronizará automáticamente el valor con el server.session.timeout propiedad de la configuración de la aplicación.

Tenga en cuenta que una de las deficiencias al usar la sesión de primavera es que javax.servlet.http.HttpSessionListener s no se invocan.

Si necesita reaccionar ante eventos de caducidad de sesión, puede suscribirse a SessionDestroyedEvent evento de aplicación de su aplicación de primavera.