Redis
 sql >> Base de données >  >> NoSQL >> Redis

Quel est le délai d'expiration de session par défaut et comment le configurer lors de l'utilisation de Spring Session avec Redis comme backend

Le moyen le plus simple de configurer le délai d'expiration de la session lors de l'utilisation du référentiel Redis est

@EnableRedisHttpSession(maxInactiveIntervalInSeconds = 60)

OU @EnableRedissonHttpSession(maxInactiveIntervalInSeconds =1200) si la dépendance redisson existe.

La session expire lorsqu'il n'est plus disponible dans le référentiel. Le délai peut être configuré avec setDefaultMaxInactiveInterval(int) sur les deux RedisOperationsSessionRepository et MapSessionRepository . La valeur par défaut est 30 minutes .

Si vous utilisez Spring Boot, à partir de la version 1.3, il synchronisera automatiquement la valeur avec le server.session.timeout propriété de la configuration de l'application.

Notez que l'une des lacunes lors de l'utilisation de la session Spring est que javax.servlet.http.HttpSessionListener s ne sont pas invoqués.

Si vous avez besoin de réagir aux événements d'expiration de session, vous pouvez vous abonner à SessionDestroyedEvent événement de candidature de votre candidature de printemps.