Heim > Java > javaLernprogramm > Hauptteil

Einführung in die Methode zur Integration von Spring Session und Spring Boot zur Realisierung der Sitzungsfreigabe

不言
Freigeben: 2019-02-19 15:56:42
nach vorne
2201 Leute haben es durchsucht

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>
Nach dem Login kopieren

pom.xml 2. RedisSessionConfig-Konfigurationsklasse hinzufügen

Erstellen Sie im Projektverzeichnis eine Java-Datei (mit einem beliebigen Namen). Mein Name ist RedisSessionConfig.java

@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过期事件,每当有过期键被删除时,会发送通知
Nach dem Login kopieren

zur Redis-Konfigurationsdatei hinzu oder verwenden Sie den folgenden Befehl, um die Ereignisbenachrichtigung zu aktivieren:

redis-cli config set notify-keyspace-events Egx
Nach dem Login kopieren

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;
	}
}
Nach dem Login kopieren

3. Redis-Verbindung konfigurieren

Spring Boot erstellt automatisch eine RedisConnectionFactory, um die Spring-Sitzung mit dem Redis-Server auf localhost auf Port 6379 (Standardport) zu verbinden. In einer Produktionsumgebung müssen Sie sicherstellen, dass Sie die Konfiguration so aktualisieren, dass sie auf den Redis-Server

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
Nach dem Login kopieren
verweist

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!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage