...
If a client makes a request to a server that is not hosting the given key, the server will need to respond with a -MOVED
error indicating which server is hosting the key. The current implementation avoids this by using a function call to route the request to the member hosting the key. With this proposal, the need for this layer of indirection will be removed and will improve performance.
Although not currently implemented, this change will greatly ease the ability to develop transactional support using Redis' MULTI/EXEC
commands. Redis transactions require all keys, participating in a transaction, to be colocated in the same slot. The current implementation would require a much more complicated locking scheme allowing multiple keys to be locked across multiple members.
...