In großen Webanwendungen ist die Sitzungsverwaltung sehr wichtig, was durch die Speicherung auf einer Maschine nicht erfüllt werden kann.
Normalerweise gibt es die folgenden Methoden:
Persistenz von Sitzungen in der Datenbank.
De-Sessionisierung, z. B. das Speichern von Informationen in Cookies unsicher.
3. Speichern Sie die Sitzung in einer verteilten NoSQL-Datenbank, wie z. B. Redis.
<!--基于redis的分布式session存储--> <dependency> <groupId>org.springframework.session</groupId> <artifactId>spring-session-data-redis</artifactId> </dependency>
Schritt 2: Aktivieren Sie die Annotation @EnableRedisHttpSession
###### Redis config start ###### spring.redis.database=0 spring.redis.host=192.168.41.60 spring.redis.port=6379 spring.redis.password= spring.redis.pool.max-active=20 spring.redis.pool.max-wait=-1 spring.redis.pool.max-idle=8 spring.redis.pool.min-idle=0 spring.redis.timeout=0 ###### Redis config end ######Der Quellcode der Annotation @EnableRedisHttpSession lautet wie folgt
maxInactiveIntervalInSeconds: die Ablaufzeit der Daten in der Sitzung (nicht die Ablaufzeit der Sitzung in Redis)
: Sofort speichern, sobald die Sitzung erstellt wird.
ON_SAVE@Configuration @EnableRedisHttpSession(redisNamespace = "mysession",maxInactiveIntervalInSeconds = 60*60*24) public class SessionConfigSchritt 3: Testen Schreiben Sie einen Controller
@Retention(java.lang.annotation.RetentionPolicy.RUNTIME) @Target({ java.lang.annotation.ElementType.TYPE }) @Documented @Import(RedisHttpSessionConfiguration.class) @Configuration public @interface EnableRedisHttpSession int maxInactiveIntervalInSeconds() default 1800; String redisNamespace() default ""; RedisFlushMode redisFlushMode() defaultWenn der Browser auf den Link http://localhost:8080/hello/admin zugreift, empfängt die
Das obige ist der detaillierte Inhalt vonSo verwenden Sie Spring Boot, um schnell einen verteilten Sitzungscache basierend auf Redis zu erstellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!