Persistent lagring af streammeddelelser
Udforsk, hvordan Streams sikrer persistent lagring og ordnet levering af meddelelser, hvilket adskiller dem fra Pub/Sub.
Persistent lagring af streammeddelelser er en gratis Redis-caching og meddelelser (Pub/Sub, Streams)-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Redis-caching og meddelelser (Pub/Sub, Streams), og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Redis-caching og meddelelser (Pub/Sub, Streams)-kurset indeholder 4 lektioner i alt.
Hvad er persistent meddelelseslagring?
I meddelelsessystemer betyder persistens, at meddelelser ikke går tabt, selv hvis modtageren ikke er klar til at modtage dem med det samme.
Tænk på det som at lægge en besked på køleskabet i stedet for at råbe den til en person, der måske ikke er hjemme. Beskeden bliver liggende, indtil den bliver læst.
Det er afgørende for pålideligheden i mange programmer.
Streams bevarer dine data
I modsætning til visse andre Redis-funktioner til meddelelser er Redis Streams designet til at være persistente. Hver meddelelse (post), du føjer til en stream, gemmes i Redis.
Denne lagring fungerer som en log, hvor poster kun tilføjes. Nye poster føjes altid til slutningen, så der oprettes en historisk registrering af hændelser.
Entydige post-id'er sikrer rækkefølgen
Hver post i en Redis Stream får et entydigt post-id. Dette id genereres automatisk af Redis og består af to dele:
- Tidsstempel (millisekunder): Det tidspunkt, hvor posten blev tilføjet.
- Sekvensnummer: En tæller for poster, der tilføjes inden for samme millisekund.
Eksempel: 1678886400000-0
Tilføjelse af meddelelser til en Stream
Vi bruger kommandoen XADD til at føje nye poster til en stream. * fortæller Redis, at post-id'et skal genereres automatisk, så det bliver entydigt og giver den korrekte rækkefølge.
Hver post indeholder også felt-værdi-par, ligesom et lille hash-kort.
XADD mystream * sensor-id 123 temperature 25.5Læsning fra en Stream
Hvis du vil læse poster fra en stream, bruger du kommandoen XREAD. Du angiver streamens navn og det id, hvor læsningen skal begynde.
Det er vigtigt, at læsning af en post ikke fjerner den fra streamen. Den bliver der til andre forbrugere eller til senere gennemgang.
XREAD COUNT 2 STREAMS mystream 0Streams sammenlignet med Pub/Sub: Persistens
Her adskiller Redis Streams sig markant fra Redis Pub/Sub (publicering/abonnering).
- Streams: Meddelelser er persistente. De gemmes og kan læses flere gange, også af forbrugere, der opretter forbindelse senere.
- Pub/Sub: Meddelelser er midlertidige. De leveres én gang til aktive abonnenter og forsvinder derefter.
Pub/Sub: Send og glem
Med Pub/Sub går en meddelelse ganske enkelt tabt, hvis ingen klient abonnerer på en kanal, når meddelelsen publiceres. Der findes ingen kø eller historik.
Det minder om en direkte udsendelse: Hvis du ikke lytter med, går du glip af den. Det er velegnet til meddelelser i realtid, hvor historik ikke er nødvendig.
Streams sikrer rækkefølgen
De automatisk genererede post-id'er i Redis Streams garanterer streng kronologisk rækkefølge. Meddelelser gemmes og hentes altid i præcis den rækkefølge, de blev tilføjet i.
Det er afgørende for programmer, hvor hændelsernes rækkefølge har betydning, f.eks. ved logføring, kontrol eller hændelseskildeindlæsning.
Hvornår skal du bruge persistente Streams?
Vælg Redis Streams, når du har brug for:
- Pålidelige hændelseslogge: En komplet historik over hændelser i rækkefølge.
- Genafspilning af meddelelser: Mulighed for, at nye forbrugere kan behandle tidligere hændelser.
- Kontrol og analyse: Historiske data til analyse.
- Afkoblede mikrotjenester: Tjenester kan behandle hændelser i deres eget tempo.
Tjek af Stream-persistens
Du bygger et program, der skal sikre, at hver hændelse behandles, selv hvis en forbruger midlertidigt er offline. Hvilken Redis-funktion er bedst egnet til dette krav?
Opsummering: Streams' vigtigste styrker
I denne lektion undersøgte vi de vigtigste aspekter ved Redis Streams: persistent meddelelseslagring og garanteret levering i rækkefølge.
- Streams gemmer alle poster og danner dermed en uforanderlig log.
- Hver post har et entydigt, tidsbaseret id, der sikrer en streng rækkefølge.
- Denne persistens og rækkefølge er vigtige forskelle fra Redis Pub/Sub og gør Streams ideelle til pålidelig hændelsesbehandling og historiske data.
Lær Redis-caching og meddelelser (Pub/Sub, Streams) med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 12
- Lektioner
- 48
Ofte stillede spørgsmål
Er lektionen “Persistent lagring af streammeddelelser” gratis?
Ja — alle 3 lektioner i læringssporet Redis-caching og meddelelser (Pub/Sub, Streams), inklusive “Persistent lagring af streammeddelelser”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Redis-caching og meddelelser (Pub/Sub, Streams)-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Persistent lagring af streammeddelelser”?
Udforsk, hvordan Streams sikrer persistent lagring og ordnet levering af meddelelser, hvilket adskiller dem fra Pub/Sub. Du øver dig i Redis-caching og meddelelser (Pub/Sub, Streams) med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Redis-caching og meddelelser (Pub/Sub, Streams)?
Der kræves ingen tidligere erfaring. Redis-caching og meddelelser (Pub/Sub, Streams) på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.
Hvor lang tid tager lektionen “Persistent lagring af streammeddelelser”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Redis-caching og meddelelser (Pub/Sub, Streams)-lektion?
Ja. Alle Redis-caching og meddelelser (Pub/Sub, Streams)-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Hvad er Redis Streams?
- Datastrukturer og kommandoer i streams
- Persistent lagring af streammeddelelser
- Begrænsning og trimning af streams