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

May I use redis-bloom modules with twemproxy? #657

Open
GuanFoxyier opened this issue Nov 8, 2021 · 2 comments
Open

May I use redis-bloom modules with twemproxy? #657

GuanFoxyier opened this issue Nov 8, 2021 · 2 comments

Comments

@GuanFoxyier
Copy link

GuanFoxyier commented Nov 8, 2021

twemproxy has been used by us.

Now we want to use the bloom filter modules.

What should I do?

@TysonAndre
Copy link
Collaborator

Currently, no, but wrapping with https://redis.io/commands/eval can be used to invoke those commands.

The issue would be that twemproxy isn't aware of the signature of the commands, so it doesn't know if a command has multiple keys, needs to be fragmented to multiple servers, is synchronous and able to be forwarded (i.e. not pubsub), etc. https://oss.redis.com/redisbloom/Bloom_Commands/ and related pages would be useful as a reference for anyone implementing that, this seems to be single-key commands

@631086083
Copy link

631086083 commented Dec 23, 2021

hello, @TysonAndre @GuanFoxyier
I implemented a function that supports the bloomfilter module in https://github.com/631086083/twemproxy/tree/bf, and wrote some test cases, which are running smoothly on some machines.

This kind of requirement increases the number of string matching for not needing this module, which may have a little impact on performance, whether it needs to be merged into the main branch or as an independent branch.

For keys, the commands in the https://oss.redis.com/redisbloom/Bloom_Commands/ document are all single-key, so the proxy can focus on forwarding and does not need to be split into multiple shards.

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

No branches or pull requests

3 participants