Ejemplo comandos Stream Redis

Ejemplo con comandos directos de Redis (usando el cliente de línea de comandos de Redis):

1. Conectar a Redis

Bash
redis-cli

Esto abrirá el cliente de línea de comandos de Redis.

2. Crear un Stream

XGROUP CREATE mystream myconsumergroup 0

Este comando crea un Stream llamado mystream y un grupo de consumidores llamado myconsumergroup. El valor 0 indica que todos los mensajes del Stream serán entregados a este grupo.

3. Añadir mensajes

XADD mystream * field1 value1 field2 value2

Este comando añade un mensaje al Stream mystream. El asterisco * indica que se agregará un nuevo ID. field1 y field2 son los campos del mensaje y value1 y value2 son sus respectivos valores.

4. Leer mensajes

XREADGROUP GROUP myconsumergroup myconsumer > mystream COUNT 1 BLOCK 0

Este comando lee un mensaje del Stream mystream para el consumidor myconsumer del grupo myconsumergroup.

  • COUNT 1: Indica que se leerá un máximo de 1 mensaje.
  • BLOCK 0: Indica que la operación no se bloqueará si no hay mensajes disponibles.

5. Eliminar mensajes

XACK mystream myconsumergroup message-id

Este comando elimina el mensaje con el ID message-id de la lista de pendientes del consumidor myconsumer en el Stream mystream.

Ejemplo completo de un ciclo de vida de un mensaje:

# Crear un Stream
XGROUP CREATE mystream myconsumergroup 0

# Añadir un mensaje
XADD mystream * field1 value1 field2 value2

# Leer el mensaje
XREADGROUP GROUP myconsumergroup myconsumer > mystream COUNT 1 BLOCK 0

# Eliminar el mensaje (si se procesó correctamente)
XACK mystream myconsumergroup message-id

Ventajas de usar comandos directos:

  • Mayor control: Tienes un control más preciso sobre las operaciones de Redis.
  • Mejor comprensión: Te permite entender mejor los conceptos básicos de Redis Streams.
  • Flexibilidad: Puedes combinar comandos para crear flujos de trabajo más complejos.

Desventajas:

  • Menos cómodo: Escribir comandos manualmente puede ser más tedioso que usar una librería.
  • Más propenso a errores: Es fácil cometer errores al escribir comandos manualmente.

Consideraciones adicionales:

  • Scripts de Redis: Para tareas más complejas, puedes crear scripts de Redis (Lua) para agrupar múltiples comandos y crear lógica personalizada.
  • Herramientas de línea de comandos: Existen herramientas como redis-cli que ofrecen autocompletado y otras funcionalidades para facilitar el uso de comandos de Redis.


Comentarios

Entradas más populares de este blog

Comandos geoespaciales