Redis-Speicher
Die RedisStore ist eine Redis-gestützte Implementierung des Speicher Interfaces, das pro Sitzung verteilten Schlüssel-Wert-Speicher unter Verwendung von Redissons RMap.
Jeder verbundene Client erhält eine dedizierte Redis-Map, identifiziert durch seine sessionId, sodass Sitzungsdaten konsistent über mehrere Knoten in einer Cluster-Umgebung zugänglich sind.
Wesentliche Merkmale
Verteilte pro-Sitzung-Speicherung — Sitzungsdaten werden in Redis gespeichert, nicht im lokalen Speicher
Sichtbarkeit über Knoten hinweg — Werte sind über alle Server zugänglich, die dieselbe Redis-Instanz teilen
Persistenz durch Backend-Konfiguration — Daten überdauern JVM-/Knoten-Neustarts, solange Redis läuft
Dedizierter Schlüsselraum pro Sitzung — jede Sitzung erstellt ihr eigenes
RMapunter Verwendung der SitzungskennungEinsteckbar mit jedem EventStore — kann mit Kafka, Redis Streams, Hazelcast, NATS usw. kombiniert werden
Funktionsweise
set(key, value)schreibt einen Wert in eine Redis-Map für diese Sitzungget(key)ruft den Wert aus Redis abhas(key)prüft das Vorhandensein eines Schlüssels in der verteilten Mapdel(key)entfernt einen einzelnen Schlüssel aus der Mapdestroy()löscht die gesamte Sitzungs-Map, typischerweise wenn der Client die Verbindung trennt
Vorteile
👍 Sitzungsdaten sind für alle Knoten verfügbar — unterstützt horizontales Skalieren 👍 Übersteht Serverneustarts, solange Redis läuft 👍 Fügt sich natürlich in verteilte Event-Propagation-Setups ein 👍 Ermöglicht die Kombination der Speicherung mit jedem EventStore-Backend (z. B., RedisStore + KafkaEventStore, RedisStore + HazelcastRingBufferEventStore)
Zusammenfassung
RedisStore bietet verteilte, pro Sitzung gespeicherte Speicherung, die von Redis unterstützt wird, sodass Sitzungsdaten über mehrere socketio4j-Knoten hinweg sichtbar und persistent sind. Ideal für Cluster-Bereitstellungen, wenn Sitzungszustand geteilt werden muss.
Zuletzt aktualisiert
War das hilfreich?