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"]]  ]]]
Loading search…