W tym przewodniku zbadamy, jak wygasnąć klucze w Redis. Jak sugeruje tytuł, skupimy się na wygaśnięciu klucza HASH, ale ogólna koncepcja dotyczy również innych kluczy."
Wymagania wstępne
Aby wykonać kroki wykazane w tym przewodniku, będziesz potrzebować następujących komponentów gotowych do pracy:
Klucze Redis
Klucze Redis są domyślnie trwałe, co oznacza, że każdy wpis pozostanie nienaruszony, chyba że usunę się ręcznie. Chociaż ta konfiguracja jest ogólnie dobra, są sytuacje, w których możesz chcieć, aby klucze wygasły po określonym czasie. Innymi słowy, chciałbyś lotny Klucze.
Teraz Redis obsługuje wiele rodzajów kluczy, sklasyfikowanych według typu danych. Oto niektóre z najczęstszych typów danych, które napotkasz:
Sprawdź oficjalną dokumentację Redis na temat typów danych, aby uzyskać bardziej szczegółowe informacje. Na potrzeby tego przewodnika skupimy się na klawiszach skrótu.
Klucze skrótu
W Redis skróty są mapami między polami (ciąg) a wartościami (ciąg). Z powodu tej struktury jest to idealny typ danych do reprezentowania obiektów. Wyjaśnijmy przykładem. Spójrz na następującą strukturę:
Tutaj możemy uznać user_database za klucz skrótu. W tym skrócie mamy wiele par wartości pola, reprezentujących nazwę użytkownika i hasło. Zaimplementujmy to w Redis:
$ HMSET User_Database User_1 „David” Pass_1 „Password_1”
$ HMSET User_DataBase User_2 „Alex” Pass_2 „Password_2”
$ HMSET User_DataBase User_3 „Mason” Pass_3 „Password_3”
Jak pokazano, Redis używa komendy HMSET do rejestracji klawiszy skrótu. Aby pobrać dane przechowywane w kluczu, musimy użyć polecenia hget:
$ Hget user_database User_1
$ Hget user_database pass_3
Aby uzyskać informacje o wszystkich pól jednocześnie, zamiast tego użyj polecenia HGETALL:
$ HGETALL User_Database
W Redis klawisz skrótu może mieć do 2^32–1 (więcej niż 4 miliardy) par pola. Przez większość czasu skróty są używane do reprezentowania obiektów. Jednak ze względu na swoją naturę skróty mogą być przydatne w wielu sytuacjach.
Klucz Redis wygasa
Wszystkie obiekty Redis mają czas ważności. Domyślnie wartość jest ustawiona na nigdy. Jednak zmieniając tę wartość, możemy ustawić klawisze Redis, które wygasną automatycznie po ustalonym czasie. Po przekazaniu czasu ważności klucz zostanie usunięty z bazy danych.
Chociaż jest to uogólnione wyjaśnienie, faktyczny mechanizm kluczowej exviry jest nieco skomplikowany. Sprawdź oficjalną dokumentację Redis dla dogłębnego wyjaśnienia kluczowego mechanizmu ważności.
Aby ustawić czas ważności, użyjemy polecenia wygasającego. Poniższy przykład pokazuje jego użycie:
$ Set Hello „The Quick Brown Fox”
$ Expire Hello 999
Tutaj klucz Hello wygasa za 999 sekund. Aby sprawdzić czas, aby wygaśnąć klucz, użyj polecenia TTL:
$ Ttl Hello
Wyjście zwróci czas na wygaśnięcie klucza. Jednak w przypadku błędu TTL może zwrócić różne wartości:
Wygasa klucz skrótu
Teraz, gdy rozumiemy klucze skrótu i jak działa klucz do wygaśnięcia, czas, aby je uruchomić.
Kontynuując przykład skrótu, poświęćmy czas ważności na rzecz_database:
$ Expire User_Database 999
Aby zweryfikować tę akcję, sprawdź wartość TTL user_database:
$ Ttl User_Database
Opcje wygasania
Polecenie wygasające jest wyposażone w dodatkowe opcje, które implementują niektóre dodatkowe warunki podczas ustawiania czasu ważności. Są to następujące:
Podczas wdrażania opcji polecenie wyglądałoby mniej więcej tak:
$ Wygasa
Kontynuując poprzedni przykład, zaktualizujmy czas ważności user_database:
$ Expire User_Database 9999 GT
Sprawdź, czy czas ważności został zaktualizowany:
$ Ttl User_Database
Końcowe przemyślenia
W tym przewodniku zbadaliśmy wygasanie klucza skrótu w Redis. Redis jest wyposażony w dedykowane polecenie wygasające, aby ustawić czas ważności kluczy. Wykazaliśmy, jak użyć tego polecenia, aby wygaśnięcie klucza demonstracyjnego. Zbadaliśmy również różne opcje obsługuje polecenie Exire.
Zainteresowany dowiedzeniem się więcej o Redis? Podkategoria Redis jest pełna szczegółowych przewodników. Dowiedz się więcej o wspólnych poleceń Redis, poleceniu BitCount, rurociągów itp.
Szczęśliwy komputer!