Redis korzysta z podejścia do pary wartości kluczowej do przechowywania swoich danych. Stąd wszystkie wartości danych przechowywane w bazie danych Redis są odwoływane przez unikalny klucz.
Te klucze żyją wiecznie, dopóki ich nie usuniesz. Zwykle możemy użyć polecenia „SET”, aby utworzyć nowy klucz i przypisać do niego wartość. W niektórych scenariuszach może być konieczne ustawienie limitu czasu na klucz.
Przykład - ustaw link resetowania hasła za pomocą klawisza Redis
Załóżmy, że użytkownik musi zresetować hasło do konta na Twitterze. Zwykłym procesem jest to, że użytkownik kliknie przycisk „Zapomniany hasło” w oknie logowania. To wysłałoby wiadomość e -mail do użytkownika za pomocą linku do resetowania hasła. Te linki żyją tylko przez kilka minut lub dni. Wtedy link wygasa. Możemy osiągnąć tego rodzaju zachowanie, przekazując klucz Redis w adresie URL. Ilekroć użytkownik kliknie ten link, przekieruje się na stronę resetowania hasła, jeśli dany klucz nie wygasł.
Utwórz klucz w Redis
Do utworzenia nowej pary wartości kluczowej w magazynie danych Redis, jak pokazano następujące polecenie „Set” Redis „Set”, jak pokazano następujące.
Ustaw hasłoxpirationLink: Użytkownik: 01 OldPass: 123456
„FashasestExpirationLink: Użytkownik: 01” to klucz Redis, a wartość to „OldPass: 123456”.
Ustaw limit czasu dla klucza
Od czasu utworzenia klucza możemy ustawić limit czasu na tym kluczu. Istnieją dwa sposoby na ustawienie limitu czasu.
1. Korzystanie z polecenia Redis „Set”
Polecenie „ustaw” ma parametr o nazwie „ex”, którego można użyć do ustawienia limitu czasu w sekundach. Utwórzmy klucz o wartości limitu czasu.
Ustaw hasłoxpirationLink: Użytkownik: 02 OldPass: 123456 Ex 120
Klucz „hasłoSpirationLink: Użytkownik: 02” wygasa za 120 sekund.
2. Korzystanie z polecenia Redis „Exire”
„Wygbycie” jest najpopularniejszym poleceniem, aby ustalić wartość limitu czasu na klucz.
Wygasa hasłoSpirationLink: Użytkownik: 02 120
Jest to dość proste w porównaniu do polecenia „SET”. Klucz „FashasestExpirationLink: Użytkownik: 02” wygasa za 120 sekund.
Teraz powinien istnieć sposób na obliczenie lub zapytanie o pozostały czas na życie klucza. Polecenie „PTTL” umożliwia użytkownikom Redis na zapytanie.
Polecenie „Pttl”
„PTTL” zwraca, ile czasu pozostało, zanim wygasa klucz Redis. Jeśli nie ma powiązanej wartości limitu czasu, to polecenie zwróci -1. Jeśli klucz Redis nie istnieje, zwróci -2.
Składnia
Klucz PTTL
„Klucz” to nazwa klucza Redis.
Jeśli istnieje klucz Redis, a klucz jest powiązany z czasem ważności, wówczas polecenie „PTTL” zwróci pozostały czas na życie w milisekundach. To polecenie jest bardzo podobne do „ttl”, gdzie jedyną różnicą jest to, że „ttl” zwraca pozostały czas na życie w sekundach.
Ustawmy „hasłoSpirationLink: Użytkownik: 02” czas ważności na 120 sekund, jak w poprzednim przykładzie.
Wygasa hasłoSpirationLink: Użytkownik: 02 120
Następnie możemy użyć polecenia „PTTL”, aby sprawdzić pozostały czas, aby żyć dla klucza „hasłoSpirationLink: Użytkownik: 02”.
PTTL FashasestExpirationLink: Użytkownik: 02
Wyjście po wykonaniu powyższego polecenia kilka razy:
Ustawiliśmy czas ważności na 120 sekund, czyli 120000 milisekund. Wyjście to weryfikuje. Pierwsze polecenie PTTL zwraca 112030, co oznacza „hasłoSpirationLink: Użytkownik: 02” wygasa po 112030 milisekundach lub 112.03 sekundy.
W ostatnim wierszu -2 został zwrócony. To mówi, że klawisz „hasłoSpirationLink: użytkownik: 02” jest już usunięty lub już nie istnieje. Oznacza to, że klucz już spełnił czas ważności i zniknął na zawsze.
Polecenie „PTTL” na kluczu bez czasu ważności
Uruchommy polecenie „PTTL” na kluczu, które nie ma powiązanego z nim czasu ważności. Najpierw utworzymy nowy klucz „FashasestExpirationLink: Użytkownik: 05”.
Ustaw hasłoxpirationLink: Użytkownik: 05 OldPass: 123456
Następnie będziemy uruchamiać polecenie „PTTL” na kluczu „FashasherExpirationLink: Użytkownik: 05”.
PTTL FashasestExpirationLink: Użytkownik: 05
Wyjście:
Zgodnie z oczekiwaniami, zwrócił -1, co oznacza, że nie ma limitu czasu związanego z tym kluczem.
Na podstawie wartości zwrotnej polecenia „PTTL” możemy pozwolić, aby link do resetowania hasła wygasa, który omówiliśmy w poprzednim przykładzie.
Wniosek
Ponieważ Redis jest magazynem danych opartych na wartości kluczowej, klucze są bezpośrednim odniesieniem dla dowolnej wartości danych. Polecenie Redis „SET” służy do tworzenia danych o wartości kluczowej w bazie danych. To polecenie pozwala nam ustawić limit czasu podczas tworzenia pary wartości kluczowej. Innym sposobem ustawiania limitu czasu dla klawiszy jest użycie polecenia „wygasa”. Na dwa sposoby możesz ustawić czas ważności w kilka sekund. Polecenie „PTTL” przydaje się, gdy musimy zapytać pozostały czas, aby żyć po klawisz Redis. Zwraca pozostały czas w milisekundach, który różni się od polecenia „TTL”.