Redis
 sql >> Datenbank >  >> NoSQL >> Redis

Was ist das standardmäßige Sitzungstimeout und wie wird es konfiguriert, wenn die Spring Session mit Redis als Backend verwendet wird?

Der einfachste Weg, das Sitzungs-Timeout zu konfigurieren, wenn das Redis-Repository verwendet wird, ist

@EnableRedisHttpSession(maxInactiveIntervalInSeconds = 60)

ODER @EnableRedissonHttpSession(maxInactiveIntervalInSeconds =1200), wenn Redisson-Abhängigkeit vorhanden ist.

Die Sitzung läuft ab wenn es nicht mehr im Repository verfügbar ist. Timeout kann mit setDefaultMaxInactiveInterval(int) konfiguriert werden auf beiden RedisOperationsSessionRepository und MapSessionRepository . Der Standardwert ist 30 Minuten .

Wenn Sie Spring Boot verwenden, wird ab Version 1.3 der Wert automatisch mit server.session.timeout synchronisiert -Eigenschaft aus der Anwendungskonfiguration.

Beachten Sie, dass einer der Mängel bei der Verwendung von Spring Session dieser javax.servlet.http.HttpSessionListener ist s werden nicht aufgerufen.

Wenn Sie auf Sitzungsablaufereignisse reagieren müssen, können Sie SessionDestroyedEvent abonnieren Bewerbungsevent Ihrer Frühjahrsbewerbung.