sql >> Databáze >  >> NoSQL >> Redis

Jak odstranit klíče odpovídající vzoru v Redis Cluster

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

  1. 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 .

  2. Buď SCAN nebo KEYS jsou neefektivní, zejména KEYS by neměly být použity ve výrobě. Musíte zvážit vytvoření indexu pro tyto klíče.



  1. Jak odstranit dokument, na který odkazuje id v mongoDB z php?

  2. Odeberte prvek z vnořeného pole mongodb

  3. PHP nemůže najít ovladač MongoDB

  4. MongoDB vnořené vyhledávání se 3 úrovněmi