Odpovědi na tuto otázku se pokusí odstranit více klíčů v jediném DEL
. Klávesy odpovídající danému vzoru se však NEMUSÍ nacházet ve stejném slotu a Redis Cluster NEPODPORUJE příkaz s více klávesami, pokud tyto klíče nepatří do stejného slotu. Proto se zobrazí chybová zpráva.
Chcete-li tento problém vyřešit, musíte DEL
tyto klávesy jedna po druhé:
redis-cli --scan --pattern "foo*" |xargs -L 1 redis-cli del
-L
možnost pro xargs
příkaz určuje počet klíčů, které se mají odstranit. Tuto možnost musíte zadat jako 1
.
Chcete-li odstranit všechny klíče odpovídající vzoru, musíte také spustit výše uvedený příkaz pro všechny hlavní uzly ve vašem clusteru.
POZNÁMKA
-
Pomocí tohoto příkazu musíte tyto klíče mazat jeden po druhém, což může být velmi pomalé. Musíte zvážit přepracování databáze a použít hash-tagy aby klíče odpovídající vzoru patřily do stejného slotu. Takže tyto klíče můžete odstranit jedním
DEL
. -
Buď
SCAN
neboKEYS
jsou neefektivní, zejménaKEYS
by neměly být použity ve výrobě. Musíte zvážit vytvoření indexu pro tyto klíče.