Stream
XREADGROUP
Reads data from a stream as part of a consumer group.
Arguments
groupbodystrrequired
The consumer group name.
consumerbodystrrequired
The consumer name within the group.
streamsbodyDict[str, str]required
A dictionary mapping stream keys to their starting IDs. Use ">" to read messages never delivered to any consumer in the group.
countbodyint
The maximum number of messages to return per stream.
noackbodybool
Don't add messages to the pending entries list (messages won't need acknowledgment).
Response
List[List[Any]]
Returns a list where each element represents a stream and contains:
- The stream key
- A list of messages (ID and field-value pairs)
Returns empty list if no data is available.
Read new messages
result = redis.xreadgroup("mygroup", "consumer1", {"mystream": ">"})Multiple streams
result = redis.xreadgroup("mygroup", "consumer1", {"stream1": ">", "stream2": "0-0"})With count and noack
result = redis.xreadgroup("mygroup", "consumer1", {"mystream": ">"}, count=5, noack=True)Read pending messages
result = redis.xreadgroup("mygroup", "consumer1", {"mystream": "0"})[ ["mystream", [ ["1638360173533-0", ["field", "value1"]], ["1638360173533-1", ["field", "value2"]] ]]]