DBAtlas · Атлас эксплуатации баз данных

CROSSSLOT: CROSSSLOT: ключи в запросе не попадают в один и тот же слот

Redis

Что это значит?

В Redis Cluster использована команда с несколькими ключами (например, MGET, MSET, SUNION), но ключи попадают в разные hash slots. Операции с несколькими ключами требуют, чтобы все ключи находились в одном слоте.

Почему возникает?

В режиме кластера команды, обращающиеся сразу к нескольким ключам, вызываются с ключами, распределёнными по разным слотам. Ключи распределяются по разным узлам, поскольку не используют hash tag.

Как исправить

Используйте hash tag, чтобы поместить связанные ключи в один слот: закрепите часть имени ключа фигурными скобками (например, {user1}:profile и {user1}:settings попадают в один слот). Используйте команды с несколькими ключами только для ключей с одинаковым hash tag. В качестве альтернативы разбейте операции на команды с одним ключом.

Открыть в DBAtlas →

Ещё по этой СУБД