# An update on Redis Streams development

DevFeed: [An update on Redis Streams development](<https://devfeed.tech/articles/an-update-on-redis-streams-development-20607.md>)

Original publisher: [Read original article](<http://antirez.com/news/116>)

Published: 2018-01-25T18:00:34Z

Content type: article

Language: en

Sources: [Antirez](<https://devfeed.tech/sources/antirez.md>)

Topics: [Redis](<https://devfeed.tech/topics/redis.md>), [Streams](<https://devfeed.tech/topics/streams.md>), [Development](<https://devfeed.tech/topics/development.md>), [C](<https://devfeed.tech/topics/c.md>), [Persistence](<https://devfeed.tech/topics/persistence.md>), [Replication](<https://devfeed.tech/topics/replication.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [c](<https://devfeed.tech/tags/c.md>), [cli](<https://devfeed.tech/tags/cli.md>), [feature](<https://devfeed.tech/tags/feature.md>), [persistence](<https://devfeed.tech/tags/persistence.md>), [redis](<https://devfeed.tech/tags/redis.md>), [replication](<https://devfeed.tech/tags/replication.md>), [streams](<https://devfeed.tech/tags/streams.md>), [update](<https://devfeed.tech/tags/update.md>)

## AI overview

An update on Redis Streams development describes the feature's progress, including consumer-group implementation, available XREADGROUP and XACK commands, and remaining work on commands, blocking operations, replication, and RDB and AOF persistence.

## Source excerpt

I saw multiple users asking me what is happening with Streams, when they'll be ready for production uses, and in general what's the ETA and the plan of the feature. This post will attempt to clarify a bit what comes next. To start, in this moment Streams are my main priority: I want to finish this work that I believe is very useful in the Redis community and immediately start with the Redis Cluster improvements plans. Actually the work on Cluster has already started, with my colleague Fabio Nicotra that is porting redis-trib, the Cluster management tool, inside the old and good redis-cli. This step involves translating the code from Ruby to C. In the meantime, a few weeks ago I finished writing the Streams core, and I deleted the "streams" feature branch, merging everything into the "unstable" branch. Later I reviewed again, several times actually, the specification for consumer groups. A few weeks ago I finally was happy with the result, so I started the implementation of this specification: https://gist.github.com/antirez/68e67f3251d10f026861be2d0fe0d2f4. Be aware that command names changed quite a bit... With the API being more like this: https://gist.github.com/antirez/4e7049ce4fce4aa61bf0cfbc3672e64d. I'm halfway, after the first 500 lines of code I today was able to see clients using the XREADGROUP command to see only their local history when fetching old messages. This was a milestone in the implementation. Also XACK is now available. Basically all the data structures supporting the streams consumer groups are working, but I need to finish all the commands implementations, support the blocking operations in XREADGROUP and so forth, handle replication, RDB and AOF persistence. More or less in one month I should have everything ready. Because of consumer groups, the RDB format of the Streams is going to change a lot compared to what "unstable" is using right now. And since there is to break compatibility, we'll also add the ability of RDB files to persist informa