Redis
 sql >> Baza danych >  >> NoSQL >> Redis

Jak usunąć klucze pasujące do wzorca w klastrze Redis?

Odpowiedzi na to pytanie próbują usunąć wiele kluczy w jednym DEL . Jednak klucze pasujące do podanego wzorca mogą NIE znajdować się w tym samym gnieździe, a klaster Redis NIE obsługuje poleceń z wieloma klawiszami, jeśli te klucze nie należą do tego samego gniazda. Dlatego pojawia się komunikat o błędzie.

Aby rozwiązać ten problem, musisz DEL te klawisze jeden po drugim:

redis-cli --scan --pattern "foo*" |xargs -L 1 redis-cli del

-L opcja dla xargs polecenie określa liczbę kluczy do usunięcia. Musisz określić tę opcję jako 1 .

Aby usunąć wszystkie klucze pasujące do wzorca, musisz również uruchomić powyższe polecenie dla każdego węzła głównego w klastrze.

UWAGA

  1. Za pomocą tego polecenia musisz usuwać te klucze jeden po drugim, a to może być bardzo powolne. Musisz rozważyć przeprojektowanie swojej bazy danych i użyć hash-tagów aby klucze pasujące do wzoru należały do ​​tego samego gniazda. Aby można było usunąć te klucze w jednym DEL .

  2. Albo SCAN lub KEYS polecenia są nieefektywne, zwłaszcza KEYS nie powinien być używany w produkcji. Musisz rozważyć utworzenie indeksu dla tych kluczy.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak odizolować redis aplikacji wiosennego rozruchu i globalną redis sesji wiosennego rozruchu?

  2. Jak naprawić Lopsded Hash Slots w Redis?

  3. Odmowa połączenia Docker Redis

  4. Jak działa ServiceStack Redis w pobieraniu danych?

  5. Lista Redis zagnieżdżonych kluczy