As respostas para essa pergunta tentam remover várias chaves em um único
DEL
. No entanto, as chaves que correspondem ao padrão fornecido podem NÃO ser localizadas no mesmo slot, e o Redis Cluster NÃO oferece suporte ao comando de várias chaves se essas chaves não pertencerem ao mesmo slot. É por isso que você recebe a mensagem de erro. Para corrigir esse problema, você precisa
DEL
estas chaves uma a uma:redis-cli --scan --pattern "foo*" |xargs -L 1 redis-cli del
O
-L
opção para xargs
O comando especifica o número de chaves a serem excluídas. Você precisa especificar esta opção como 1
. Para remover todas as chaves correspondentes ao padrão, você também precisa executar o comando acima para todos os nós mestres em seu cluster.
OBSERVAÇÃO
-
Com este comando, você deve excluir essas chaves uma a uma, e isso pode ser muito lento. Você precisa reprojetar seu banco de dados e usar hash-tags para fazer com que as chaves correspondentes ao padrão pertençam ao mesmo slot. Para que você possa remover essas chaves em um únicoDEL
.
-
OuSCAN
ouKEYS
comando são ineficientes, especialmente,KEYS
não deve ser usado na produção. Você precisa considerar a criação de um índice para essas chaves.