Dieser Artikel bietet Ihnen eine Einführung in die Methode zur Integration von Spring Session und Spring Boot. Er hat einen gewissen Referenzwert. Ich hoffe, er wird Ihnen hilfreich sein.
Kürzlich wurde mit Spring Boot ein System entwickelt, das den Lastausgleich durchführt und Anforderungen an mehrere Tomcats verteilt. Die Sitzung wird auf der Serverseite verteilt Wenn der erste Besuch auf Server A verteilt wird, wird die Sitzung auf Server A gespeichert und der Lastausgleich wird auf Server B verteilt. Dann können die Sitzungsinformationen, auf die zum ersten Mal zugegriffen wird, nicht abgerufen werden Vorherige Sitzungsinformationen, daher muss eine Sitzungsfreigabe implementiert werden, die durch einfache Konfiguration erreicht werden kann. Folgendes wird eingeführt:
<!-- Spring Boot Redis 依赖 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency> <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-redis</artifactId> </dependency> <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-core</artifactId> </dependency>
@EnableRedisHttpSession Wichtig: Nach dem Hinzufügen wird die Bean so konfiguriert, dass Spring eine Verbindung zu Redis gemäß der Konfiguration in der Konfigurationsdatei herstellen kann.
SpringSession Beachten Sie, dass für Redis Version 2.8 oder höher erforderlich ist. Fügen Sie dann
notify-keyspace-events Ex // 打开此配置,其中Ex表示键事件通知里面的key过期事件,每当有过期键被删除时,会发送通知
zur Redis-Konfigurationsdatei hinzu oder verwenden Sie den folgenden Befehl, um die Ereignisbenachrichtigung zu aktivieren:
redis-cli config set notify-keyspace-events Egx
Wenn Ihr Redis nicht von Ihnen selbst verwaltet wird, beispielsweise wenn Sie die Redis-Datenbank von Alibaba Cloud verwenden (dies ist mein Fall) und Sie deren Konfiguration nicht ändern können, können Sie die folgende Java-Konfigurationsdatei verwenden.
package org.spring.springboot.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.session.data.redis.config.ConfigureRedisAction; import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession; @Configuration // maxInactiveIntervalInSeconds 默认是1800秒过期,这里测试修改为60秒 @EnableRedisHttpSession(maxInactiveIntervalInSeconds = 1800) public class RedisSessionConfig { @Bean public static ConfigureRedisAction configureRedisAction() { return ConfigureRedisAction.NO_OP; } }
3. Redis-Verbindung konfigurieren
src/main/resources/application.properties
# Redis 配置 # Redis数据库索引(默认为0) spring.redis.database=0 # Redis服务器地址 spring.redis.host=192.168.0.1 # Redis服务器连接端口 spring.redis.port=6379 # Redis服务器连接密码(默认为空) spring.redis.password=1234
Das obige ist der detaillierte Inhalt vonEinführung in die Methode zur Integration von Spring Session und Spring Boot zur Realisierung der Sitzungsfreigabe. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!