Ejemplo comandos Stream Redis
Ejemplo con comandos directos de Redis (usando el cliente de línea de comandos de Redis):
1. Conectar a Redis
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-clique ofrecen autocompletado y otras funcionalidades para facilitar el uso de comandos de Redis.
Comentarios
Publicar un comentario