Almacén Redis
El RedisStore es una implementación respaldada por Redis de la Almacén interfaz que proporciona almacenamiento distribuido de clave–valor por sesión usando el RMap.
Cada cliente conectado recibe un mapa Redis dedicado identificado por su sessionId, lo que permite acceder a los datos de la sesión de forma consistente en varios nodos en un entorno en clúster.
Características clave
Almacenamiento distribuido por sesión — los datos de la sesión se almacenan en Redis, no en la memoria local
Visibilidad entre nodos — los valores son accesibles en todos los servidores que comparten la misma instancia de Redis
Persistente según la configuración del backend — los datos sobreviven a reinicios de la JVM/nodo mientras Redis esté en funcionamiento
Espacio de claves dedicado por sesión — cada sesión crea su propio
RMapusando el identificador de sesiónEnchufable con cualquier EventStore — puede emparejarse con Kafka, Redis Streams, Hazelcast, NATS, etc.
Cómo funciona
set(key, value)escribe un valor en un mapa Redis para esta sesiónget(key)recupera el valor de Redishas(key)comprueba la presencia de una clave en el mapa distribuidodel(key)elimina una sola clave del mapadestroy()borra el mapa de la sesión completo, típicamente cuando el cliente se desconecta
Ventajas
👍 Los datos de la sesión están disponibles para todos los nodos — soporta escalado horizontal 👍 Sobrevive a reinicios del servidor mientras Redis esté en funcionamiento 👍 Se alinea de forma natural con configuraciones de propagación de eventos distribuidos 👍 Permite combinar el almacenamiento con cualquier backend de EventStore (p. ej., RedisStore + KafkaEventStore, RedisStore + HazelcastRingBufferEventStore)
Resumen
RedisStore proporciona almacenamiento distribuido por sesión respaldado por Redis, haciendo que los datos de la sesión sean visibles y persistentes en múltiples nodos de socketio4j. Ideal para despliegues en clúster cuando el estado de la sesión debe ser compartido.
Última actualización
¿Te fue útil?