Magasin Redis
Le RedisStore est une implémentation basée sur Redis de l' Magasin interface qui fournit un stockage clé–valeur distribué par session en utilisant le RMap.
Chaque client connecté reçoit une map Redis dédiée identifiée par son sessionId, permettant d'accéder aux données de session de manière cohérente à travers plusieurs nœuds dans un environnement clusterisé.
Caractéristiques principales
Stockage distribué par session — les données de session sont stockées dans Redis, pas en mémoire locale
Visibilité inter-nœuds — les valeurs sont accessibles sur tous les serveurs partageant la même instance Redis
Persistant selon la configuration du backend — les données survivent aux redémarrages de la JVM/du nœud tant que Redis est en fonctionnement
Espace de clés dédié par session — chaque session crée son propre
RMapen utilisant l'identifiant de sessionCompatible avec n'importe quel EventStore — peut s'associer avec Kafka, Redis Streams, Hazelcast, NATS, etc.
Comment ça marche
set(key, value)écrit une valeur dans une map Redis pour cette sessionget(key)récupère la valeur depuis Redishas(key)vérifie la présence d'une clé dans la map distribuéedel(key)supprime une seule clé de la mapdestroy()supprime la map de session entière, généralement lorsque le client se déconnecte
Avantages
👍 Les données de session sont disponibles sur tous les nœuds — prend en charge la montée en charge horizontale 👍 Survivre aux redémarrages du serveur tant que Redis fonctionne 👍 S'aligne naturellement avec des configurations de propagation d'événements distribuées 👍 Permet de mélanger le stockage avec n'importe quel backend EventStore (par exemple, RedisStore + KafkaEventStore, RedisStore + HazelcastRingBufferEventStore)
Résumé
RedisStore fournit un stockage distribué par session soutenu par Redis, rendant les données de session visibles et persistantes à travers plusieurs nœuds socketio4j. Idéal pour les déploiements clusterisés lorsque l'état de session doit être partagé.
Mis à jour
Ce contenu vous a-t-il été utile ?