0Pricing
Redis Caching & Messaging (Pub/Sub, Streams) · Lección

Implementación de la lógica de grupos de consumidores

Aprenda a crear grupos, leer mensajes mediante `XREADGROUP` y confirmar su procesamiento con `XACK`.

Implementación de la lógica de grupos de consumidores es una lección gratuita de Redis Caching & Messaging (Pub/Sub, Streams) en CoddyKit. Esta es la lección 2 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Redis Caching & Messaging (Pub/Sub, Streams), y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Redis Caching & Messaging (Pub/Sub, Streams) incluye 4 lecciones en total.

Partes de esta lección aún no han sido traducidas y se muestran en inglés.

Welcome to Consumer Groups!

In the previous lesson, we learned what Redis Streams are. Now, let's dive into Consumer Groups! They are a powerful feature that lets multiple clients process messages from a stream cooperatively.

Imagine a team of workers processing tasks from a single to-do list. Each worker gets unique tasks, and if one fails, others can pick up pending tasks. That's what Consumer Groups enable!

Set Up Your Group

Before consumers can join, you need to create a Consumer Group for your stream. This is done using the XGROUP CREATE command.

It tells Redis: "Hey, for this stream, make a new group." You also specify an ID, which is typically 0 or $ to start reading from the beginning or end of the stream.

Create Your First Group!

Let's create a group named mygroup for a stream called mystream. The $ means "start reading from the latest entry." The MKSTREAM option is crucial: it creates the stream if it doesn't already exist!

Try it out:

XGROUP CREATE mystream mygroup $ MKSTREAM

Reading with `XREADGROUP`

Once a group is created, consumers can start reading messages using the XREADGROUP command. This command is designed specifically for consumer groups.

It ensures that each message is delivered to only one consumer within the group. If a consumer fails to acknowledge a message, it remains pending and can be claimed later.

Decoding `XREADGROUP`

The XREADGROUP command has several important parameters:

  • GROUP <groupname> <consumername>: Specifies which group and consumer are reading.
  • COUNT <N>: Optional. Limits the number of messages to read.
  • BLOCK <milliseconds>: Optional. Blocks the client if no messages are available.
  • STREAMS <streamname> <ID>: The stream to read from and the ID. Use > to get new messages that haven't been delivered to any other consumer in the group yet.

Let's Read Some Messages!

First, let's add a few messages to our mystream:

XADD mystream * event start task:1
XADD mystream * event process task:1

Consumer Reads New Messages

Now, let's have a consumer named consumer-1 from mygroup read from mystream. The > ID means "new, unread messages."

XREADGROUP GROUP mygroup consumer-1 STREAMS mystream >

Confirming Message Processing

After a consumer successfully processes a message, it's crucial to acknowledge it. This tells Redis that the message has been handled and can be removed from the consumer's Pending Entries List (PEL).

Acknowledgment prevents the same message from being re-delivered to another consumer if the current one crashes or goes offline before completing the task.

How to `XACK`

The command to acknowledge messages is XACK. Its syntax is straightforward:

XACK <streamname> <groupname> <ID> [ID ...]

You provide the stream name, the consumer group name, and one or more message IDs that have been successfully processed.

Put `XACK` into Practice

Let's assume you received message IDs 1678881234567-0 and 1678881234568-0 from the previous read. You would acknowledge them like this (replace with your actual IDs):

XACK mystream mygroup 1678881234567-0 1678881234568-0

Test Your Knowledge

You've learned how to create groups, read messages, and acknowledge them. Which of the following statements about Redis Consumer Groups is TRUE?

Recap: Consumer Group Logic

Great job! You've mastered the fundamentals of implementing Redis Consumer Group logic:

  • We used XGROUP CREATE to set up a new group for a stream.
  • You learned to read messages cooperatively as a consumer with XREADGROUP.
  • We saw how XACK is vital for acknowledging processed messages, managing the Pending Entries List (PEL).

Next, we'll explore how to handle pending messages and consumer failures more robustly!

Preguntas frecuentes

¿La lección «Implementación de la lógica de grupos de consumidores» es gratis?

Sí — el texto completo de «Implementación de la lógica de grupos de consumidores» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Redis Caching & Messaging (Pub/Sub, Streams), actualiza a CoddyKit PRO. El curso de Redis Caching & Messaging (Pub/Sub, Streams) incluye 4 lecciones en total.

¿Qué aprenderé en «Implementación de la lógica de grupos de consumidores»?

Aprenda a crear grupos, leer mensajes mediante `XREADGROUP` y confirmar su procesamiento con `XACK`. Practicas Redis Caching & Messaging (Pub/Sub, Streams) con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Redis Caching & Messaging (Pub/Sub, Streams)?

No se requiere experiencia previa. Redis Caching & Messaging (Pub/Sub, Streams) en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 2 de 4.

¿Cuánto tiempo toma la lección «Implementación de la lógica de grupos de consumidores»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Redis Caching & Messaging (Pub/Sub, Streams)?

Sí. Cada lección de Redis Caching & Messaging (Pub/Sub, Streams) incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Introducción a los grupos de consumidores
  2. Implementación de la lógica de grupos de consumidores
  3. Gestión de mensajes pendientes y fallos
  4. Supervisión del retraso de grupos de consumidores
← Volver a Redis Caching & Messaging (Pub/Sub, Streams)