DBAtlas · データベース運用アトラス

CROSSSLOT: CROSSSLOT Keys in request don't hash to the same slot(キーが同じスロットにハッシュされない)

Redis

意味

Redis Cluster でマルチキーコマンド (例: MGET、MSET、SUNION) が使われたが、キーが異なるハッシュスロットに属している。マルチキー操作ではすべてのキーが同じスロットにある必要がある。

原因

クラスタモードで、複数のキーに同時にアクセスするコマンドが、異なるスロットに分散したキーで呼び出されている。キーがハッシュタグを使っていないため、異なるノードに分散している。

対処方法

ハッシュタグを使って関連キーを同じスロットに配置する: キー名の一部を波括弧で固定する (例: {user1}:profile と {user1}:settings は同じスロットに入る)。マルチキーコマンドは同じハッシュタグを共有するキーでのみ使う。代わりに、操作を単一キーのコマンドに分割する。

DBAtlas で開く →

同じデータベースの他の項目