memoryAlmacé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 ConcurrentHashMap

  • Datos 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 Store implementación

Cómo funciona

  • set(key, value) almacena un valor en memoria con alcance de sesión

  • get(key) recupera el valor almacenado, o null si no existe ninguno

  • has(key) comprueba la presencia de la clave sin leer el valor

  • del(key) elimina una única entrada

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