Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Redis streams #606

Closed
mp911de opened this issue Sep 26, 2017 · 10 comments
Closed

Add support for Redis streams #606

mp911de opened this issue Sep 26, 2017 · 10 comments
Labels
type: feature A new feature

Comments

@mp911de
Copy link
Collaborator

mp911de commented Sep 26, 2017

See https://github.com/redis/redis-rcp/blob/master/RCP11.md

@mp911de mp911de added the type: feature A new feature label Sep 26, 2017
@mp911de
Copy link
Collaborator Author

mp911de commented Nov 9, 2017

@aschober
Copy link

@mp911de is the plan to move streams support forward to the 5.0.x branch?

@mp911de mp911de added this to the Lettuce 4.5.0 milestone Nov 30, 2017
@mp911de
Copy link
Collaborator Author

mp911de commented Nov 30, 2017

Hey Allen,
Redis Streams integration is going to happen for Lettuce 4.5 and 5.1. 5.0.x is a maintenance branch, bugfixes only.

@aschober
Copy link

@mp911de thanks for the info.

Not sure if this is helpful, but I was looking for the new reactive api + streams, so cherry-picked from streams to current 5.x branch.

https://github.com/aschober/lettuce-core/tree/streams-5.x

@mp911de
Copy link
Collaborator Author

mp911de commented Nov 30, 2017

Awesome! Love to get early feedback, especially about the Java API design.

@mp911de
Copy link
Collaborator Author

mp911de commented Apr 19, 2018

Early artifacts with Redis Streams support are available:

<dependency>
  <groupId>biz.paluch.redis</groupId>
  <artifactId>lettuce</artifactId>
  <version>4.5.0.RedisStreams-SNAPSHOT</version>
</dependency>

<repositories>
  <repository>
    <id>sonatype-nexus-snapshots</id>
    <url>https://oss.sonatype.org/content/repositories/snapshots</url>
    <snapshots>
      <enabled>true</enabled>
    </snapshots>
  </repository>
</repositories>

Currently missing: XCLAIM, XDEL, some XGROUP commands. XGROUP DELGROUP and XGROUP SETID are not yet implemented in Redis.

Group and consumer names are String right now. I've got the impression they should be encoded according the selected RedisCodec.

@mp911de
Copy link
Collaborator Author

mp911de commented Apr 20, 2018

Added XCLAIM, XDEL, and XTRIM commands with fd16032.

mp911de added a commit that referenced this issue May 14, 2018
mp911de added a commit that referenced this issue May 14, 2018
mp911de added a commit that referenced this issue May 14, 2018
mp911de added a commit that referenced this issue May 14, 2018
Sort inherited commands interfaces
mp911de added a commit that referenced this issue May 14, 2018
mp911de added a commit that referenced this issue May 14, 2018
Post-cherrypick polishing. Sort inherited commands interfaces.
@mp911de
Copy link
Collaborator Author

mp911de commented Jun 21, 2018

Redis Stream support is now in place for Lettuce versions 4.5 and 5.1. Closing this ticket.

@mp911de mp911de closed this as completed Jun 21, 2018
@rainhacker
Copy link

rainhacker commented Oct 30, 2018

@mp911de Thanks for adding Redis stream support in lettuce. Is there a documentation for this ? I can't find an official lettuce one. Tried looking for tests as examples too, but couldn't find any.
Only link I found was this : https://www.javacodegeeks.com/2018/05/a-first-look-at-redis-streams-and-how-to-use-them-with-java.html
Not clear from the link how I can use of for master slave connection.

@mp911de
Copy link
Collaborator Author

mp911de commented Oct 30, 2018

@rainhacker There is Javadoc in the StreamCommands classes. Redis Streams are available for Redis Standalone, Master/Replica, and Redis Cluster.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: feature A new feature
Projects
None yet
Development

No branches or pull requests

3 participants