Almacén en memoria
El MemoryStore es una implementación en memoria del Store interfaz que proporciona almacenamiento clave-valor por sesión respaldado por un ConcurrentHashMap.
Es ligero, rápido y adecuado para implementaciones de nodo único, entornos de desarrollo y escenarios donde los datos de la sesión no necesitan compartirse entre múltiples instancias de servidor.
Características clave
Almacenamiento local por sesión — cada conexión recibe su propia instancia de store
Acceso seguro para subprocesos — admite lecturas/escrituras concurrentes usando
ConcurrentHashMapDatos efímeros — los valores existen solo en la memoria JVM y se pierden al reiniciar o fallar
Sin compartición entre nodos — los datos no se distribuyen entre servidores
Cero dependencias externas — la implementación más simple posible
Storeimplementación
Cómo funciona
set(key, value)almacena un valor en memoria con alcance de sesiónget(key)recupera el valor almacenado, onullsi no existe ningunohas(key)comprueba la presencia de la clave sin leer el valordel(key)elimina una única entradadestroy()borra todas las entradas, típicamente llamado cuando el cliente se desconecta
Ventajas
👍 Acceso rápido y de baja latencia
👍 No se requieren servicios externos
👍 Ideal para desarrollo y pruebas locales
👍 Funciona bien con cualquier EventStore para implementaciones híbridas
(por ejemplo, MemoryStore + KafkaEventStore o MemoryStore + RedisStreamEventStore)
Limitaciones
ℹ️ No distribuido — los valores no se sincronizan entre nodos
ℹ️ No persistente — los datos desaparecen al reiniciar o colapsar el servidor
ℹ️ No apto para escalado horizontal a menos que se combine con un StoreFactory implementación
Resumen
MemoryStore proporciona almacenamiento local y efímero por sesión, ideal para configuraciones de nodo único y desarrollo. Se puede combinar con cualquier EventStore distribuido cuando se requiera la distribución de eventos sin almacenamiento distribuido.
Última actualización
¿Te fue útil?