DBAtlas · Atlas für Datenbankbetrieb

CROSSSLOT: CROSSSLOT Keys in request don't hash to the same slot (Schlüssel der Anfrage liegen nicht im selben Slot)

Redis

Was bedeutet das?

In Redis Cluster wurde ein Multi-Key-Befehl (z. B. MGET, MSET, SUNION) verwendet, aber die Schlüssel fallen in unterschiedliche Hash Slots. Multi-Key-Operationen erfordern, dass alle Schlüssel im selben Slot liegen.

Ursache

Im Cluster-Modus werden Befehle, die mehrere Schlüssel gleichzeitig ansprechen, mit über verschiedene Slots verteilten Schlüsseln aufgerufen. Die Schlüssel werden auf verschiedene Knoten verteilt, weil sie keinen Hash Tag verwenden.

Lösung

Verwende einen Hash Tag, um zusammengehörige Schlüssel in denselben Slot zu legen: Fixiere einen Teil des Schlüsselnamens mit geschweiften Klammern (z. B. landen {user1}:profile und {user1}:settings im selben Slot). Verwende Multi-Key-Befehle nur mit Schlüsseln, die denselben Hash Tag teilen. Alternativ teile Operationen in Single-Key-Befehle auf.

In DBAtlas öffnen →

Weitere Einträge zu dieser Datenbank