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?
- Najpierw używamy
redis-cli --scan --pattern <pattern>
aby uzyskać listę kluczy, jeden klucz w linii. - Następnie uruchamiamy skrypt awk dla każdego klawisza. Ten skrypt awk jest trochę skomplikowany, więc podzielimy go na części
- Skrypt awk ma szablon poleceń
expire __key__ 1000
. To jest polecenie, które będzie działać dla wszystkich klawiszy. - Dla każdego pasującego klucza polecenie awk zastępuje
__key__
z właściwym kluczem - Następnie konwertujemy polecenie ciągu do formatu protokołu redis. To jest surowy format, który rozumie redis.
- 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
- Możesz dostosować
cmd_template
aby uruchomić dowolne polecenie redis pojedynczego klawisza na wielu klawiszach pasujących do wzorca. - Skanowanie Redis dopuszcza tylko wzorce w stylu glob, wyrażenie regularne nie jest obsługiwane. Więc
users:*
dopasujeusers:123
jak równieżusers:123:favourites
. Możesz umieścićgrep
w potoku po pierwszym redis-cli i przed skryptem awk. - 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!