Magasin en mémoire
Le MemoryStore est une implémentation en mémoire de l'interface Store qui fournit un stockage clé-valeur par session soutenu par un ConcurrentHashMap.
Il est léger, rapide, et adapté aux déploiements mono‑nœud, aux environnements de développement, et aux scénarios où les données de session n' ont pas besoin d'être partagées entre plusieurs instances de serveur.
Principales caractéristiques
Stockage local par session — chaque connexion reçoit sa propre instance de store
Accès thread-safe — prend en charge les lectures/écritures concurrentes en utilisant
ConcurrentHashMapDonnées éphémères — les valeurs existent uniquement dans la mémoire JVM et sont perdues au redémarrage ou en cas de panne
Pas de partage entre nœuds — les données ne sont pas distribuées entre les serveurs
Aucune dépendance externe — implémentation la plus simple possible
l'interface Storeimplémentation
Comment ça fonctionne
set(key, value)stocke une valeur en mémoire liée à la sessionget(key)récupère la valeur stockée, ounullsi aucune n'existehas(key)vérifie la présence de la clé sans lire la valeurdel(key)supprime une entrée uniquedestroy()efface toutes les entrées, généralement appelé lorsque le client se déconnecte
Avantages
👍 Accès rapide et faible latence
👍 Aucun service externe requis
👍 Idéal pour le développement et les tests locaux
👍 Fonctionne bien avec n'importe quel EventStore pour des déploiements hybrides
(par exemple, MemoryStore + KafkaEventStore ou MemoryStore + RedisStreamEventStore)
Limitations
ℹ️ Non distribué — les valeurs ne sont pas synchronisées entre les nœuds
ℹ️ Non persistant — les données disparaissent au redémarrage ou en cas de crash
ℹ️ Pas adapté au scaling horizontal sauf s'il est combiné avec une StoreFactory implémentation
Résumé
MemoryStore fournit un stockage local et éphémère par session, idéal pour les configurations mono‑nœud et le développement. Peut être combiné avec n'importe quel EventStore distribué lorsque la distribution des événements est requise sans stockage distribué.
Mis à jour
Ce contenu vous a-t-il été utile ?