Skip to content

Optimization idea: send GET to individual cluster shards instead of MGET when possible. #2432

@TimLovellSmith

Description

@TimLovellSmith

Feature Request

Is your feature request related to a problem? Please describe

Good news: I heard that lettuce is quite clever, and it can take MGET and multiplex it into a bunch of different shards.
Bad news: It seems like when lettuce does this, it means MGET on a single key become a much more common scenario - especially if the client was not being sensitive to cluster sharding in their design.

Describe the solution you'd like

Good news: There's a semi-simple optimization for this - just send GET instead of MGET under the hood, when possible. This can save client and server resources, when it works, improving throughput and latency.

Describe alternatives you've considered

The main alternative I see is not doing this optimization, because its deemed overcomplicated.... or doing it in a more general way.

Teachability, Documentation, Adoption, Migration Strategy

If you can, explain how users will be able to use this and possibly write out a version the docs.
Maybe a screenshot or design?

Metadata

Metadata

Assignees

No one assigned

    Labels

    size: small1 to 2 development weeksstatus: help-wantedAn issue that a contributor can help us with

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions