redis/redis-py · error · RedisClusterException
{command} - all keys must map to the same key slot
Error message
{command} - all keys must map to the same key slot What it means
Error "{command} - all keys must map to the same key slot" thrown in redis/redis-py.
Source
Thrown at redis/cluster.py:1494
# FCALL can call a function with 0 keys, that means the function
# can be run on any node so we can just return a random slot
if command.upper() in ("FCALL", "FCALL_RO"):
return random.randrange(0, REDIS_CLUSTER_HASH_SLOTS)
raise RedisClusterException(
"No way to dispatch this command to Redis Cluster. "
"Missing key.\nYou can execute the command by specifying "
f"target nodes.\nCommand: {args}"
)
# single key command
if len(keys) == 1:
return self.keyslot(keys[0])
# multi-key command; we need to make sure all keys are mapped to
# the same slot
slots = {self.keyslot(key) for key in keys}
if len(slots) != 1:
raise RedisClusterException(
f"{command} - all keys must map to the same key slot"
)
return slots.pop()
def get_encoder(self):
"""
Get the connections' encoder
"""
return self.encoder
def get_connection_kwargs(self):
"""
Get the connections' key-word arguments
"""
return self.nodes_manager.connection_kwargs
def _is_nodes_flag(self, target_nodes):View on GitHub (pinned to da03cdc7e8)
When it happens
Trigger: Thrown at redis/cluster.py:1494 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of redis/redis-py@da03cdc7e8 (2026-08-04).
Data as JSON: /data/errors/3f77a7571718fcca.json.
Report an issue: GitHub.