A stream distributes new work through a consumer group and tracks pending entries for explicit recovery.

Redis Streams let a group share the work

A Redis Streams consumer group distributes new entries among named consumers and records deliveries awaiting acknowledgement. It does not guarantee exactly-once effects, prevent retention loss, or recover abandoned work by itself. Understanding the group position, pending entries, and retained stream data separately is essential before treating it as a work queue. ...

February 5, 2028 · 7 min · XB Field Notes
A per-group cursor over a shared append of entries.

Redis streams track a consumer's own cursor

A Redis stream does not automatically track a separate cursor for every connection. Ordinary XREAD uses a position supplied by the application. A consumer group instead owns a server-side last-delivered position plus pending delivery records. Confusing those two forms of progress can make a restart skip unfinished work or replay effects already completed. ...

July 13, 2027 · 7 min · XB Field Notes