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

Jak ustawić wygaśnięcie wielu kluczy w Redis

Często programiści zapominają ustawić wygaśnięcie kluczy, a redis zaczyna brakować pamięci. Chociaż możesz ustawić wygaśnięcie nowo wygenerowanych kluczy, nadal potrzebujesz sposobu na ustawienie wygaśnięcia kluczy już znajdujących się w pamięci.


To polecenie ustawi wygaśnięcie kluczy pasujących do użytkowników:*


Jak działa skrypt?

  1. Najpierw używamy redis-cli --scan --pattern <pattern> aby uzyskać listę kluczy, jeden klucz w linii.
  2. Następnie uruchamiamy skrypt awk dla każdego klawisza. Ten skrypt awk jest trochę skomplikowany, więc podzielimy go na części
  3. Skrypt awk ma szablon poleceń expire __key__ 1000 . To jest polecenie, które będzie działać dla wszystkich klawiszy.
  4. Dla każdego pasującego klucza polecenie awk zastępuje __key__ z właściwym kluczem
  5. Następnie konwertujemy polecenie ciągu do formatu protokołu redis. To jest surowy format, który rozumie redis.
  6. Na koniec przesyłamy surowe polecenia do redis-cli za pomocą flagi –pipe. Jest to najskuteczniejszy sposób wysyłania poleceń zbiorczych do redis.

Dostosowywanie tego skryptu

  1. Możesz dostosować cmd_template aby uruchomić dowolne polecenie redis pojedynczego klawisza na wielu klawiszach pasujących do wzorca.
  2. Skanowanie Redis dopuszcza tylko wzorce w stylu glob, wyrażenie regularne nie jest obsługiwane. Więc users:* dopasuje users:123 jak również users:123:favourites . Możesz umieścić grep w potoku po pierwszym redis-cli i przed skryptem awk.
  3. Jeśli serwer redis nie znajduje się na hoście lokalnym, będziesz musiał podać hosta, port i hasło dwukrotnie w poleceniu, w zasadzie za każdym razem, gdy wywołasz redis-cli.

Zobacz też

  • Zmień nazwy pól w haszu
  • Zmień nazwy wielu kluczy za pomocą skanowania
  • Usuń klucze pasujące do wzorca
  • 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. Jak wydać polecenie HGET/GET dla bazy danych Redis za pośrednictwem Node.js?

  2. Nie udało się uruchomić redis.service:Jednostka redis-server.service jest zamaskowana

  3. problem z połączeniem z redis, aby przejść z wieloma pracownikami kues

  4. Redis publikuj-subskrybuj:czy Redis gwarantuje dostarczenie wiadomości nawet przy ogromnym stresie?

  5. Subskrybenci i wydawcy Redis pub sub max