Feature request: Stream back-pressure.

12 views
Skip to first unread message

Haokang Den

unread,
Oct 6, 2018, 4:50:22 PM10/6/18
to Redis DB
What I'm trying to solve is a typical fan-out problem that:

1. A single writer that can be paused if necessary.
1. Multiple consumer (groups) reads at various speed.
1. Once read by all consumer (groups), the message can be safely deleted.
1. Redis have limited memory resource, so inevitably I will have to remove messages.
1. I would like to pause the writer when the redis instance is accumulating too much messages.

I'm not sure how this should be done, but maybe we can start with the following interface.

- `XTRIM mystream MAXLEN ~ 1000` to delete entries acknowledged by all consumers.
- `XADD mystream MAXLEN ~ 1000` to optionally wait (block) until conditions are met.
Reply all
Reply to author
Forward
0 new messages