Heim > Datenbank > Redis > Hauptteil

So verwenden Sie Spring Boot, um schnell einen verteilten Sitzungscache basierend auf Redis zu erstellen

WBOY
Freigeben: 2023-05-27 20:49:27
nach vorne
925 Leute haben es durchsucht

Verwenden Sie Spring Boot, um schnell eine verteilte Sitzungs-Cache-Lösung basierend auf Redis zu erstellen

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:

  1. Persistenz von Sitzungen in der Datenbank.

  2. 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.

Schritt eins: Richten Sie eine Spring Boot-Entwicklungsumgebung ein Konfigurieren Sie die Redis-Verbindungseigenschaften in der Datei application.properties

<!--基于redis的分布式session存储-->
        <dependency>
            <groupId>org.springframework.session</groupId>
            <artifactId>spring-session-data-redis</artifactId>
        </dependency>
Nach dem Login kopieren

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

Der Quellcode der Annotation @EnableRedisHttpSession lautet wie folgt

maxInactiveIntervalInSeconds: die Ablaufzeit der Daten in der Sitzung (nicht die Ablaufzeit der Sitzung in Redis)

    In meiner Konfiguration habe ich einen Namespace namens „mysession“ angegeben, um die aktuelle Anwendung zu identifizieren
  • redisFlushMode: Die Art und Weise, wie Redis die Sitzung speichert, hat standardmäßig zwei Möglichkeiten:
  • IMMEDIATE

    : Sofort speichern, sobald die Sitzung erstellt wird.

    ON_SAVE
  • : Es wird nicht gespeichert, wenn die Sitzung erstellt wird, sondern beim Hinzufügen Daten zur Sitzung

  • @Configuration
    @EnableRedisHttpSession(redisNamespace = "mysession",maxInactiveIntervalInSeconds = 60*60*24)
    public class SessionConfig
    Nach dem Login kopieren
    Schritt 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() default
    Nach dem Login kopieren
    Wenn der Browser auf den Link http://localhost:8080/hello/admin zugreift, empfängt die
hello-Methode die übergebenen Parameter Öffnen Sie den Browser, speichern Sie sie in der Sitzung und speichern Sie dann die Sitzung. Speichern Sie sie in Redis Unter diesem Standardverzeichnis

Als nächstes besuchen wir http://localhost:8080/getName. Sie können sehen, dass der Browser den Administrator anzeigt, den wir gerade in der Sitzung gespeichert haben

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!

Verwandte Etiketten:
Quelle:yisu.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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!