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

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

Redis nie oferuje możliwości zbiorczego usuwania kluczy. Możesz jednak użyć redis-cli i odrobiny magii wiersza poleceń, aby zbiorczo usunąć klucze bez blokowania redis.


To polecenie usunie wszystkie klucze pasujące do użytkowników:*
redis-cli --scan --pattern users:* | xargs redis-cli del

Jeśli korzystasz z redis 4.0 lub nowszego, możesz zamiast tego użyć polecenia unlink, aby usunąć klawisze w tle.


redis-cli --scan --pattern users:* | xargs redis-cli unlink

Jak działa skrypt?

  1. Najpierw używamy redis-cli --scan --pattern <pattern> aby uzyskać listę kluczy, jeden klucz w wierszu. Ponieważ używa to skanowania, serwer redis nie jest blokowany.
  2. xargs pobiera wiele wierszy i łączy je w tym samym wierszu, więc zasadniczo uruchamiasz polecenie del <key1> <key2>...
  3. Jeśli masz tysiące kluczy pasujących do wzorca, xargs automatycznie wykona wielokrotnie redis-cli.

Zobacz też

  • Zmień nazwy pól w haszu
  • Ustaw wygaśnięcie na wiele kluczy
  • Zmień nazwy wielu kluczy za pomocą skanowania
  • GUI RDBTools dla Redis umożliwia podgląd działań zbiorczych i zapewnia potężny graficzny interfejs użytkownika do zarządzania danymi w Redis. To bezpłatne pobieranie!

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. StackExchange.Redis — użycie LockTake / LockRelease

  2. hdel wewnątrz bloku hget nodejs redis

  3. Otrzymuję błąd Nie znaleziono klasy „Predis\Client” w Laravel 5.2

  4. Dzwonię do Redis zunionstore z Lua ze zmienną KEYS

  5. Jak przechowywać tablicę obiektów w Redis?