enhancement(redis sink): support stream data type #23440
+264
−7
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Redis has support for a newish data structure called streams that model unbounded data streams better than lists or PUBSUB do. Consumers can use a cursor to move through a stream reliably with redis assigning ids to individual records in the stream. Streams also support automatic trimming to keep the stored length bounded, and clients can implement Kafka-style consumer groups to process a stream in parallel. This adds support for publishing to redis streams using the XADD command, and an optional config to tell Redis to keep the length of the stream within a max.
Read more about streams: https://redis.io/docs/latest/develop/data-types/streams/
Vector configuration
How did you test this PR?
Change Type
Is this a breaking change?
Does this PR include user facing changes?