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

Improves stream trimming performance by approximating #1

Open
wants to merge 8 commits into
base: redis-streams
Choose a base branch
from

Conversation

benlangfeld
Copy link
Member

Allows the stream to grow a small amount beyond the maximum backlog length until a full macro node can be removed from the radix tree, which is significantly more efficient than being precise and editing nodes. This means we will use an amount of storage equivalent to a few tens of messages more than the maximum backlog length we specify, but throughput will be higher.

@benlangfeld benlangfeld closed this Nov 8, 2018
@benlangfeld benlangfeld reopened this Nov 8, 2018
benlangfeld and others added 5 commits November 8, 2018 10:36
Streams can be long-polled themselves, without the need to duplicate publishing to a PubSub channel.
Eliminates Redis PubSub from Streams implementation
Allows the stream to grow a small amount beyond the maximum backlog length until a full macro node can be removed from the radix tree, which is significantly more efficient than being precise and editing nodes. This means we will use an amount of storage equivalent to a few tens of messages more than the maximum backlog length we specify, but throughput will be higher.
@benlangfeld benlangfeld force-pushed the redis-streams-approximate-trimming branch from 6ec030d to d3c274a Compare November 8, 2018 19:31
@benlangfeld benlangfeld force-pushed the redis-streams branch 3 times, most recently from 734fae8 to daa5d19 Compare November 30, 2018 00:12
@benlangfeld benlangfeld force-pushed the redis-streams branch 2 times, most recently from e30b739 to 18837b2 Compare December 4, 2018 22:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant