Le risposte a questa domanda tentano di rimuovere più chiavi in un singolo DEL
. Tuttavia, le chiavi che corrispondono al modello specificato potrebbero NON trovarsi nello stesso slot e il cluster Redis NON supporta il comando a più chiavi se queste chiavi non appartengono allo stesso slot. Ecco perché viene visualizzato il messaggio di errore.
Per risolvere questo problema, devi DEL
queste chiavi una per una:
redis-cli --scan --pattern "foo*" |xargs -L 1 redis-cli del
Il -L
opzione per xargs
comando specifica il numero di chiavi da eliminare. Devi specificare questa opzione come 1
.
Per rimuovere tutte le chiavi corrispondenti al modello, devi anche eseguire il comando precedente per ogni nodo master nel tuo cluster.
NOTA
-
Con questo comando, devi eliminare queste chiavi una per una e potrebbe essere molto lento. Devi considerare di riprogettare il tuo database e utilizzare hash-tag per fare in modo che le chiavi corrispondenti al modello appartengano allo stesso slot. In modo da poter rimuovere queste chiavi in un unico
DEL
. -
O
SCAN
oKEYS
comando sono inefficienti, in particolareKEYS
non dovrebbe essere utilizzato nella produzione. Devi prendere in considerazione la creazione di un indice per queste chiavi.