CROSSSLOT: CROSSSLOT Keys in request don't hash to the same slot (les clés de la requête ne sont pas dans le même slot)
RedisQue signifie cette erreur ?
Dans Redis Cluster, une commande multi-clés (par ex. MGET, MSET, SUNION) a été utilisée, mais les clés tombent dans des hash slots différents. Les opérations multi-clés exigent que toutes les clés soient dans le même slot.
Cause
En mode cluster, des commandes accédant à plusieurs clés à la fois sont appelées avec des clés réparties sur différents slots. Les clés sont distribuées sur différents nœuds, car elles n'utilisent pas de hash tag.
Comment la corriger
Utilisez un hash tag pour placer les clés liées dans le même slot : fixez une partie du nom de la clé avec des accolades (par ex. {user1}:profile et {user1}:settings vont dans le même slot). N'utilisez les commandes multi-clés qu'avec des clés partageant le même hash tag. Vous pouvez aussi découper les opérations en commandes mono-clé.
Autres entrées pour ce moteur
- LOADINGLOADING Redis is loading the dataset in memory (Redis charge le jeu de données en mémoire)
- BUSYBUSY Redis is busy running a script. You can only call SCRIPT KILL or SHUTDOWN NOSAVE (Redis occupé par l'exécution d'un script)
- MISCONFMISCONF Redis is configured to save RDB snapshots, but it's currently unable to persist to disk (persistance sur disque impossible)
- MOVEDMOVED slot ip:port (redirection du cluster)
- ASKASK slot ip:port (redirection du cluster)
- NOSCRIPTNOSCRIPT No matching script. Please use EVAL (aucun script correspondant)
- EXECABORTEXECABORT Transaction discarded because of previous errors (transaction abandonnée en raison d'erreurs précédentes)