Speichern von HTTP-Sitzungsdaten mithilfe von Spring Session
In dieser Lerneinheit erfahren Sie, wie Sie Azure Cache for Redis verwenden, um HTTP-Sitzungsdaten über Spring Session zu speichern.
HTTP-Sitzungen
HTTP-Sitzungen speichern Benutzerdaten (meist Sicherheitsinformationen) zwischen Anforderungen. HTTP-Sitzungen können auch den Anwendungszustand speichern oder häufig verwendete Benutzerdaten zwischenspeichern. Da HTTP-Sitzungen auf dem Server gespeichert werden, können sie zu einem Skalierbarkeitsproblem führen. Sie müssen die Sitzungen replizieren, wenn Ihre Anwendung auf mehr Knoten hochskaliert wird.
HTTP-Sitzungen sind in Java seit den Anfängen von Servlets verfügbar, und sie werden von Technologien wie JavaServer Faces (JSF) häufig verwendet. Die Skalierung von HTTP-Sitzungen war von Anfang an ein Problem. Methoden für die Sitzungsreplikation bestehen für alle wichtigen Java-Anwendungsserver.
Ein Problem besteht darin, dass Verfahren zur HTTP-Sitzungsreplikation nicht standardisiert sind, sondern auf APIs basieren, die für jeden Anwendungsserver spezifisch sind. Dieses Setup kann zu Portabilitätsproblemen führen.
Spring Session
Spring Session ist ein Unterprojekt von Spring, das eine generische Lösung zum Konfigurieren der HTTP-Sitzungsreplikation bereitstellt. Spring Session unterstützt Redis als eine von mehreren Back-End-Optionen. Spring Session repliziert alle Sitzungsdaten in Redis, sodass jeder Knoten Zugriff auf die Benutzersitzungen hat, wenn die Anwendung aufskaliert wird.
Die Spring Session-Konfiguration ähnelt der vorherigen Spring Data-Konfiguration und veranschaulicht ein weiteres empfohlenes Redis-Verwendungsszenario.
Verwenden von Spring Session mit Redis
Ein Teil der Konfiguration ist mit der für Spring Data Redis identisch, und Sie müssen sie für beide Lösungen nur einmal vornehmen. Wie in der Spring Data-Konfiguration verwenden Sie in der Regel Spring Initializr und führen die folgenden wichtigen Aufgaben aus:
- Hinzufügen der Spring Session Redis-Bibliothek zu Ihrer Anwendung
- Konfigurieren Ihrer Datei application.yml zum Herstellen einer Verbindung mit Ihrer Azure Cache for Redis-Instanz
- Verwenden der HTTP-Sitzungsmethode von Java zum Speichern oder Abrufen von Daten
Fahren Sie mit der nächsten Lerneinheit fort, um diese Konfiguration zu implementieren.