Svar på den frågan försöker ta bort flera nycklar i en enda DEL
. Emellertid kan nycklar som matchar det givna mönstret INTE placeras i samma plats, och Redis Cluster stöder INTE kommandon med flera tangenter om dessa nycklar inte tillhör samma plats. Det är därför du får felmeddelandet.
För att åtgärda det här problemet måste du DEL
dessa nycklar en i taget:
redis-cli --scan --pattern "foo*" |xargs -L 1 redis-cli del
-L
alternativ för xargs
kommandot anger antalet nycklar som ska raderas. Du måste ange detta alternativ som 1
.
För att ta bort alla nycklar som matchar mönstret måste du också köra kommandot ovan för alla masternoder i ditt kluster.
OBS
-
Med det här kommandot måste du ta bort dessa nycklar en i taget, och det kan vara väldigt långsamt. Du måste överväga att omforma din databas och använda hash-taggar för att få nycklar som matchar mönstret att tillhöra samma plats. Så att du kan ta bort dessa nycklar i en enda
DEL
. -
Antingen
SCAN
ellerKEYS
kommandon är ineffektiva, specielltKEYS
bör inte användas i produktionen. Du måste överväga att bygga ett index för dessa nycklar.