memoryMagasin 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 ConcurrentHashMap

  • Donné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 Store implémentation

Comment ça fonctionne

  • set(key, value) stocke une valeur en mémoire liée à la session

  • get(key) récupère la valeur stockée, ou null si aucune n'existe

  • has(key) vérifie la présence de la clé sans lire la valeur

  • del(key) supprime une entrée unique

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