-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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 an option to disable MGET
splitting in Redis (to avoid performance penalty)
#32069
Comments
I think this would also benefit this github issue ( not splitting the MGET request to individual GET request ) -> #31038. |
This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged "help wanted" or "no stalebot" or other activity occurs. Thank you for your contributions. |
This makes sense. One idea is that for a multi-key command, we can calculate the hash of the keys and send the command without splitting to the target Redis node if all the key hashes are the same. |
@zuercher could you please advise on how to add the label "help-wanted"? It seems that I wasn't able to find a way to add the label. Thanks! |
/help |
This issue has been automatically marked as stale because it has not had activity in the last 30 days. It will be closed in the next 7 days unless it is tagged "help wanted" or "no stalebot" or other activity occurs. Thank you for your contributions. |
This issue has been automatically closed because it has not had activity in the last 37 days. If this issue is still valid, please ping a maintainer and ask them to label it as "help wanted" or "no stalebot". Thank you for your contributions. |
Hello 👋
I have a question regarding splitting Redis
MGET
commands into multipleGET
ones (implemented here). Would it be possible to add a configuration option to disable this behavior?Let me describe the use case. We're adding Envoy as a proxy to a Redis Cluster. Our app sends MGET requests with dozens of keys like
{my_user_id}:key1
,{my_user_id}:key2
, etc. As the user id is the same in all the keys, all of them are guaranteed to be hashed to the same slot.With a regular Redis Cluster, only one command is executed (the
MGET
one). With Envoy, however, the MGET is split into N separateGET
requests, which incurs a noticeable performance hit. Having an option to disable splitting would allow us to avoid that penalty.UPD. A similar issue seems to apply to
DEL
,EXISTS
,TOUCH
, andUNLINK
commands (source).Relevant links:
The text was updated successfully, but these errors were encountered: