01Why does adding a slot layer make resharding easier than direct key-to-node routing?introScenarioYou are comparing a design that hashes keys directly to nodes against one that hashes keys to slots owned by nodes.ASlots make lookups faster, because hashing into 16384 buckets is cheaper than hashing over the full keyspace.BSlots remove the need for clients to know about nodes at all, because the cluster proxies every command internally.CSlots add an indirection layer, so resharding moves slot ownership instead of recalculating every key-to-node route.DSlots let each node keep a full copy of hot keys, so resharding only ever has to move the cold data.
02Which part of `user:{42}:cart` is hashed, and why does that matter for multi-key commands?introScenarioAn application stores each user's cart under keys like `user:{42}:cart` and wants multi-key operations per user.AThe whole key user:{42}:cart is hashed; the braces only document the user ID for human readers.BThe prefix user is hashed, which groups every user-related key in the system onto a single node.CEverything except the braces is hashed, so the tag spreads related keys evenly across the cluster's nodes for better balance under skewed workloads.DOnly the hash tag content 42 is hashed, which lets related keys share a slot for allowed multi-key operations.
03A client receives `MOVED 9000 node-b:6379`. What should it change locally?appliedScenarioYour client library sent `GET user:42` to node-a and got back a redirect naming a different node.AThe client should update its local slot cache so slot 9000 points to node-b:6379 and retry there.BThe client should discard its entire slot cache and refetch the full cluster topology before retrying anything.CThe client should retry node-b once but keep its old mapping, since the redirect may be temporary.DThe client should send CLUSTER SETSLOT to node-b to confirm the transfer before changing any local state.
04Why does Redis Cluster reject many multi-key commands across slots instead of coordinating every node?appliedScenarioA developer is surprised that `MSET a 1 b 2` fails in cluster mode when the two keys map to different slots.ACross-slot commands are rejected because RESP cannot encode a reply assembled from more than one node.BRejecting cross-slot multi-key commands avoids distributed coordination across primaries for ordinary command execution.CThey are rejected only inside transactions; plain multi-key commands are silently split and fanned out to each owner before the partial replies are merged into one response.DIt is a temporary limitation during migrations; a stable cluster executes cross-slot commands normally.
05How does client-side slot caching reduce cluster routing overhead?advancedScenarioYou are evaluating why cluster-aware client libraries keep a local slot table instead of asking the cluster where each key lives.AThe cache lets clients skip hashing keys, which is the dominant cost of routing a command.BThe cache eliminates redirects entirely, guaranteeing every command reaches its owner in a single hop forever.CIt moves routing decisions into the cluster bus, which batches commands between the nodes.DA slot cache lets clients send most commands directly to the expected owner instead of asking an intermediate router each time.