Feature request type
sample request
Is your feature request related to a problem? Please describe
Hi Garnet team,
First off, thank you for your incredible work on Garnet! The performance and .NET-native design are exactly what the ecosystem needs.
I’d like to propose adding support for Redis Streams, one of Redis’ most powerful and widely used data structures. In my experience, Streams have become essential for modern backend systems, and having them in Garnet would unlock many new use cases.
Why Redis Streams matter
Redis Streams provide:
Persistent message queues with consumer groups
Exactly-once or at-least-once delivery semantics
Consumer group coordination (like Kafka, but simpler)
Time-series-friendly append-only logs
Backpressure and pending entry tracking
These features are critical for:
Event-driven architectures
Job queues / background workers
Real-time data pipelines
CQRS / event sourcing systems
Describe the solution you'd like
While Garnet already implements Strings, Hashes, Sets, Sorted Sets, etc., the lack of Streams makes certain workloads harder to migrate from Redis or design cleanly in Garnet-first systems.
Proposed scope (minimal viable support)
Ideally, Garnet would support at least the core Stream commands:
XADD, XRANGE, XREVRANGE
XREAD, XREADGROUP
XGROUP CREATE, XACK, XPENDING
Basic consumer group mechanics
Full compatibility with Redis Streams semantics would be ideal, but even partial support would be a huge win.
Why this fits Garnet
Garnet’s design goals—high throughput, low latency, and strong consistency—align perfectly with Stream workloads. Adding Streams would:
Strengthen Garnet’s positioning against Redis
Attract users building distributed systems and message-driven apps
Complement existing data structures without breaking compatibility
Describe alternatives you've considered
No response
Additional context
No response
Feature request type
sample request
Is your feature request related to a problem? Please describe
Hi Garnet team,
First off, thank you for your incredible work on Garnet! The performance and .NET-native design are exactly what the ecosystem needs.
I’d like to propose adding support for Redis Streams, one of Redis’ most powerful and widely used data structures. In my experience, Streams have become essential for modern backend systems, and having them in Garnet would unlock many new use cases.
Why Redis Streams matter
Redis Streams provide:
Persistent message queues with consumer groups
Exactly-once or at-least-once delivery semantics
Consumer group coordination (like Kafka, but simpler)
Time-series-friendly append-only logs
Backpressure and pending entry tracking
These features are critical for:
Event-driven architectures
Job queues / background workers
Real-time data pipelines
CQRS / event sourcing systems
Describe the solution you'd like
While Garnet already implements Strings, Hashes, Sets, Sorted Sets, etc., the lack of Streams makes certain workloads harder to migrate from Redis or design cleanly in Garnet-first systems.
Proposed scope (minimal viable support)
Ideally, Garnet would support at least the core Stream commands:
XADD, XRANGE, XREVRANGE
XREAD, XREADGROUP
XGROUP CREATE, XACK, XPENDING
Basic consumer group mechanics
Full compatibility with Redis Streams semantics would be ideal, but even partial support would be a huge win.
Why this fits Garnet
Garnet’s design goals—high throughput, low latency, and strong consistency—align perfectly with Stream workloads. Adding Streams would:
Strengthen Garnet’s positioning against Redis
Attract users building distributed systems and message-driven apps
Complement existing data structures without breaking compatibility
Describe alternatives you've considered
No response
Additional context
No response