Redis Caching & Messaging (Pub/Sub, Streams) · Lezione

Limitare e ridurre gli stream

Controlli la crescita della memoria degli stream limitandone la lunghezza con MAXLEN, riducendoli per ID con MINID e usando il trimming approssimato per migliorare le prestazioni.

Lezione 4 di 413 passaggi

Limitare e ridurre gli stream è una lezione Redis Caching & Messaging (Pub/Sub, Streams) gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Redis Caching & Messaging (Pub/Sub, Streams), e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Redis Caching & Messaging (Pub/Sub, Streams) include 4 lezioni in totale.

Parti di questa lezione non sono ancora state tradotte e vengono mostrate in inglese.

Streams Grow Forever

Unless told otherwise, a Redis Stream keeps every entry you append. For high-throughput producers this means unbounded memory growth. Capping and trimming let you keep streams to a manageable size.

Capping at Add Time

The cleanest approach is to cap during XADD using MAXLEN. Redis evicts the oldest entries to keep the length at or below the limit.

XADD events MAXLEN 1000 * action login user 42

Exact vs Approximate

Exact trimming can be costly. The ~ modifier requests approximate trimming, which is far cheaper because Redis only removes whole macro-nodes.

  • MAXLEN 1000 exact
  • MAXLEN ~ 1000 approximate, may keep slightly more
XADD events MAXLEN ~ 1000 * action click

Trimming After the Fact

You can trim an existing stream with XTRIM, using the same options as the XADD capping clause.

XTRIM events MAXLEN 500
XTRIM events MAXLEN ~ 500

Trimming by ID with MINID

Instead of length, you can trim by entry ID. MINID removes all entries older than a given ID, which maps naturally to time since IDs start with a millisecond timestamp.

XTRIM events MINID 1716900000000
XADD events MINID ~ 1716900000000 * a 1

Time-Window Retention

Because the first part of a stream ID is a Unix millisecond timestamp, MINID lets you keep only the last hour or day of events. Compute the cutoff timestamp in your app and pass it in.

# keep last 24h: cutoff = (now_ms - 86400000)
XTRIM events MINID 1716813600000

Limiting Eviction Work

The LIMIT option (with approximate trimming) caps how many entries a single trim removes, smoothing out latency spikes on very large streams.

XTRIM events MAXLEN ~ 1000 LIMIT 100

Checking Stream Length

Use XLEN to see the current entry count and XINFO STREAM for detailed metadata including first and last IDs.

XLEN events
XINFO STREAM events

Trimming and Consumer Groups

Trimming removes entries regardless of whether consumer groups have read them. If a slow consumer falls behind the trim point, those messages are lost for it. Size your cap to cover your slowest consumer's lag.

Choosing a Strategy

Use MAXLEN when you care about count and bounded memory. Use MINID when you care about a time window. Prefer the ~ approximate form in production for performance unless exact bounds are required.

Memory in Practice

Capping at add time is usually best: it keeps memory steady without a separate cleanup job. Reserve XTRIM for ad-hoc cleanups or when retention rules change.

Quick Check

Test your understanding of stream trimming.

Recap

You learned to control stream growth with MAXLEN capping, MINID time-window trimming, the cheaper ~ approximate mode, the LIMIT option to bound eviction work, and the caveat that trimming can drop messages slow consumers have not yet read.

Gratis per iniziare

Impara Redis Caching & Messaging (Pub/Sub, Streams) con un tutor IA — gratis

Scrivi ed esegui vero codice nel tuo browser, ricevi aiuto istantaneo da un tutor IA disponibile 24/7, e riprendi da dove hai lasciato sul web o nell'app.

Corsi
12
Lezioni
48

Domande Frequenti

La lezione «Limitare e ridurre gli stream» è gratuita?

Sì — il testo completo di «Limitare e ridurre gli stream» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Redis Caching & Messaging (Pub/Sub, Streams), passa a CoddyKit PRO. Il corso Redis Caching & Messaging (Pub/Sub, Streams) include 4 lezioni in totale.

Cosa imparerò in «Limitare e ridurre gli stream»?

Controlli la crescita della memoria degli stream limitandone la lunghezza con MAXLEN, riducendoli per ID con MINID e usando il trimming approssimato per migliorare le prestazioni. Eserciti Redis Caching & Messaging (Pub/Sub, Streams) con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Redis Caching & Messaging (Pub/Sub, Streams)?

Non è richiesta alcuna esperienza precedente. Redis Caching & Messaging (Pub/Sub, Streams) su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Limitare e ridurre gli stream»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Redis Caching & Messaging (Pub/Sub, Streams)?

Sì. Ogni lezione Redis Caching & Messaging (Pub/Sub, Streams) include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Cosa sono gli Stream di Redis?
  2. Strutture dati e comandi degli Stream
  3. Persistenza dei messaggi negli Stream
  4. Limitare e ridurre gli stream
← Torna a Redis Caching & Messaging (Pub/Sub, Streams)