Les réponses à cette question essaient de supprimer plusieurs clés dans un seul DEL
. Cependant, les clés correspondant au modèle donné peuvent NE PAS se trouver dans le même emplacement, et Redis Cluster NE prend PAS en charge la commande à plusieurs touches si ces clés n'appartiennent pas au même emplacement. C'est pourquoi vous obtenez le message d'erreur.
Afin de résoudre ce problème, vous devez DEL
ces clés une par une :
redis-cli --scan --pattern "foo*" |xargs -L 1 redis-cli del
Le -L
option pour xargs
La commande spécifie le nombre de clés à supprimer. Vous devez spécifier cette option comme 1
.
Afin de supprimer toutes les clés correspondant au modèle, vous devez également exécuter la commande ci-dessus pour tous les nœuds maîtres de votre cluster.
REMARQUE
-
Avec cette commande, vous devez supprimer ces clés une par une, ce qui peut être très lent. Vous devez envisager de reconcevoir votre base de données et d'utiliser des hashtags pour que les clés correspondant au motif appartiennent au même emplacement. Afin que vous puissiez supprimer ces clés en un seul
DEL
. -
Soit
SCAN
ouKEYS
commande sont inefficaces, en particulier,KEYS
ne doit pas être utilisé en production. Vous devez envisager de créer un index pour ces clés.