Implementera logik för Consumer Groups
Lär er att skapa grupper, läsa meddelanden med `XREADGROUP` och bekräfta behandlingen med `XACK`.
Implementera logik för Consumer Groups är en gratis lektion i Redis: cachelagring och meddelanden (Pub/Sub, Streams) på CoddyKit. Detta är lektion 2 av 4. Du kan läsa vilka 3 lektioner som helst i den här lärvägen kostnadsfritt i sin helhet – därefter låser CoddyKit PRO upp alla lektioner, plus praktisk övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Den ingår i lärvägen för Redis: cachelagring och meddelanden (Pub/Sub, Streams), och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Redis: cachelagring och meddelanden (Pub/Sub, Streams) innehåller totalt 4 lektioner.
Välkommen till konsumentgrupper!
I den föregående lektionen lärde vi oss vad Redis Streams är. Nu ska vi gå igenom konsumentgrupper! Det är en kraftfull funktion som låter flera klienter samarbeta kring bearbetningen av meddelanden från en stream.
Föreställ er ett team av arbetare som bearbetar uppgifter från en enda att-göra-lista. Varje arbetare får unika uppgifter, och om någon slutar fungera kan andra ta över väntande uppgifter. Det är detta som konsumentgrupper möjliggör!
Konfigurera er grupp
Innan konsumenter kan ansluta måste ni skapa en konsumentgrupp för er stream. Detta görs med kommandot XGROUP CREATE.
Det talar om för Redis: "Skapa en ny grupp för den här streamen." Ni anger också ett ID, vanligtvis 0 eller $, för att börja läsa från början eller slutet av streamen.
Skapa er första grupp!
Låt oss skapa en grupp med namnet mygroup för en stream som heter mystream. $ betyder "börja läsa från den senaste posten". Alternativet MKSTREAM är avgörande: det skapar streamen om den inte redan finns!
Prova:
XGROUP CREATE mystream mygroup $ MKSTREAMLäsa med `XREADGROUP`
När en grupp har skapats kan konsumenter börja läsa meddelanden med kommandot XREADGROUP. Kommandot är särskilt utformat för konsumentgrupper.
Det säkerställer att varje meddelande levereras till endast en konsument inom gruppen. Om en konsument inte bekräftar ett meddelande förblir det väntande och kan tas över senare.
Tolka `XREADGROUP`
Kommandot XREADGROUP har flera viktiga parametrar:
GROUP <groupname> <consumername>: Anger vilken grupp och konsument som läser.COUNT <N>: Valfritt. Begränsar antalet meddelanden som ska läsas.BLOCK <milliseconds>: Valfritt. Blockerar klienten om inga meddelanden är tillgängliga.STREAMS <streamname> <ID>: Streamen som ska läsas och ID:t. Använd>för att hämta nya meddelanden som ännu inte har levererats till någon annan konsument i gruppen.
Låt oss läsa några meddelanden!
Först lägger vi till några meddelanden i vår mystream:
XADD mystream * event start task:1
XADD mystream * event process task:1Konsumenten läser nya meddelanden
Nu låter vi en konsument med namnet consumer-1 från mygroup läsa från mystream. ID:t > betyder "nya, olästa meddelanden".
XREADGROUP GROUP mygroup consumer-1 STREAMS mystream >Bekräfta meddelandebearbetning
När en konsument har bearbetat ett meddelande är det viktigt att bekräfta det. Då informeras Redis om att meddelandet har hanterats och kan tas bort från konsumentens Pending Entries List (PEL).
Bekräftelsen förhindrar att samma meddelande levereras igen till en annan konsument om den aktuella konsumenten kraschar eller kopplas från innan uppgiften är slutförd.
Så här använder ni `XACK`
Kommandot för att bekräfta meddelanden är XACK. Syntaxen är enkel:
XACK <streamname> <groupname> <ID> [ID ...]Ni anger streamnamnet, konsumentgruppens namn och ett eller flera meddelande-ID:n som har bearbetats.
Använd `XACK` i praktiken
Anta att ni fick meddelande-ID:na 1678881234567-0 och 1678881234568-0 vid den föregående läsningen. Då bekräftar ni dem så här (ersätt med era faktiska ID:n):
XACK mystream mygroup 1678881234567-0 1678881234568-0Testa era kunskaper
Ni har lärt er att skapa grupper, läsa meddelanden och bekräfta dem. Vilket av följande påståenden om Redis-konsumentgrupper är SANT?
Sammanfattning: Konsumentgruppslogik
Bra jobbat! Ni har lärt er grunderna i att implementera Redis-konsumentgruppslogik:
- Vi använde
XGROUP CREATEför att konfigurera en ny grupp för en stream. - Ni lärde er att läsa meddelanden tillsammans med andra konsumenter med
XREADGROUP. - Vi såg hur viktigt
XACKär för att bekräfta bearbetade meddelanden och hantera Pending Entries List (PEL).
Härnäst utforskar vi hur väntande meddelanden och konsumentfel kan hanteras på ett mer robust sätt!
Lär dig Redis: cachelagring och meddelanden (Pub/Sub, Streams) med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 12
- Lektioner
- 48
Vanliga frågor
Är lektionen ”Implementera logik för Consumer Groups” gratis?
Ja – du kan läsa vilka 3 lektioner som helst i lärvägen Redis: cachelagring och meddelanden (Pub/Sub, Streams), inklusive ”Implementera logik för Consumer Groups”, kostnadsfritt i sin helhet här på webben. Därefter låser CoddyKit PRO upp alla lektioner, plus interaktiv övning med en inbyggd kodredigerare och en AI-lärare dygnet runt. Kursen i Redis: cachelagring och meddelanden (Pub/Sub, Streams) innehåller totalt 4 lektioner.
Vad lär jag mig i ”Implementera logik för Consumer Groups”?
Lär er att skapa grupper, läsa meddelanden med `XREADGROUP` och bekräfta behandlingen med `XACK`. Ni övar på Redis: cachelagring och meddelanden (Pub/Sub, Streams) med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Redis: cachelagring och meddelanden (Pub/Sub, Streams)?
Du behöver inga förkunskaper. Utbildningen i Redis: cachelagring och meddelanden (Pub/Sub, Streams) på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.
Hur lång tid tar lektionen ”Implementera logik för Consumer Groups”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Redis: cachelagring och meddelanden (Pub/Sub, Streams)-lektionen?
Ja. Varje Redis: cachelagring och meddelanden (Pub/Sub, Streams)-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Introduktion till Consumer Groups
- Implementera logik för Consumer Groups
- Hantera väntande meddelanden och fel
- Övervaka fördröjning i konsumentgrupper