rRedis-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 RMap unter Verwendung der Sitzungskennung

  • Einsteckbar 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 Sitzung

  • get(key) ruft den Wert aus Redis ab

  • has(key) prüft das Vorhandensein eines Schlüssels in der verteilten Map

  • del(key) entfernt einen einzelnen Schlüssel aus der Map

  • destroy() 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?