Redis wygasa klawisz Hash

Redis wygasa klawisz Hash
"Redis to open source, w pamięci sklepu struktury danych, który jest używany jako rozproszona, w pamięci baza danych kluczowych. Ze względu na swój charakter Redis jest wysokowydajną pamięcią danych, odpowiednią do wdrażania w różnych sytuacjach, na przykład pamięci podręcznej, broker wiadomości itp.

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:

  • Odpowiednio skonfigurowany system Linux. Dowiedz się więcej o instalacji Ubuntu.
  • Serwer Redis zainstalowany i skonfigurowany. Dowiedz się więcej o instalacji Redis na Ubuntu.

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:

  • Smyczki
  • Listy
  • Zestawy
  • Hashes

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ę:

  • user_database
  • David: hasło_1
  • Alex: hasło_2
  • Mason: hasło_3

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:

  • -2 Jeśli klucz nie istnieje.
  • -1 Jeśli klucz nie ma powiązanego wygaśnięcia.

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:

  • NX: Czas ważności jest ustawiany tylko wtedy, gdy klucz nie ma wygaśnięcia.
  • XX: Czas ważności jest ustawiany tylko wtedy, gdy klucz ma istniejące wygaśnięcie.
  • GT: Nowy czas ważności jest ustawiony, jeśli nowa ważność jest większa niż bieżąca.
  • LT: Nowy czas ważności jest ustawiony, jeśli nowa ważność jest mniejsza niż bieżąca.

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!