Approaches to partitioning data
Partitioning data, where keys are divided and assigned to specific instances, is an important strategy for breaking up large databases or datasets that cannot be loaded into any single machine's available memory. With partitioning, computation and resources are no longer limited to what is available to a single Redis instance but expands and scales your application to include multiple processor cores and machines running and connecting to other Redis instances through network interfaces, routers, and adapters to other machines.
There are usually three different avenues for partitioning data with Redis—client-side partitioning, proxy assisted partitioning, and query routing. In client-side partitioning, the partitioning logic is contained in the client code that selects the correct partition or Redis node based on either an algorithm, storing extra information, or some combination of the two. With proxy-assisted partitioning, Redis clients connect to a proxy...