Ustaw wartość TTL podczas tworzenia klucza
Poniższa składnia służy do ustawienia czasu ważności dla danego klucza Redis w czasie tworzenia:
Ustaw temp_age 24 ex 5
Klucz „TEMP_AGE” wygasa po 5 sekundach.
Ustaw wartość TTL po utworzeniu klucza
Redis umożliwia najpierw utworzenie klucza, a następnie ustawić czas wygaśnięcia klawisza za pomocą polecenia Exire w następujący sposób:
Ustaw temp_age 24
Wygasnąć temp_age 5
Możliwe jest również określenie daty ważności jako znacznik czasu UNIX dla danego klawisza Redis za pomocą polecenia Extireat w następujący sposób:
Extireat TEMP_AGE 1669929041
Określony znacznik czasu UNIX jest powiązany z następującą czytelną ludzką datą:
Czw, 01 grudnia 2022 21:10:41 GMT
Klucz „TEMP_AGE” wygasa na 01-12-2022 o 21:10:41.
Komenda wygaśnięcia
Komenda wygaśnięcia zwraca datę wygaśnięcia jako znacznik czasu UNIX, który jest liczbą sekund obliczonej na podstawie daty epok unix (1970-01-01T00: 00: 00Z). To polecenie jest przydatne, gdy masz kilka kluczy w bazie danych Redis z godzinami ważności i musisz znać dokładną datę wygaśnięcia określonego klucza. Poniżej znajduje się składnia polecenia Wygby:
Wygby redis_key
Komenda wygasa jest bardzo szybka ze względu na złożoność czasu wykonania. Jeśli istnieje czas ważności, który jest powiązany z kluczem Redis, polecenie wygaśnięcia zwraca czas ważności w sekundach jako znacznik czasu UNIX. W przeciwnym razie polecenie zwraca liczbę ujemną -1 lub -2:
-1 Odpowiedź - Klucz Redis istnieje, ale nie ma z nią powiązanych z nią czasu ważności (TTL).
-2 Odpowiedź - określony klawisz Redis nie istnieje w bazie danych.
Przypadek użycia:
Załóżmy, że firma ABC musi zachować swoją historię zamówień części samochodowych tylko przez ostatni tydzień. Stąd używają bazy danych Redis do przechowywania nazwy klienta jako klucza i typu zamówienia jako wartości. Jednocześnie przechowują każdy klucz z czasem ważności jednego tygodnia od daty stworzenia.
John kupuje silnik od firmy ABC w dniach 2022-12-02. Firma musi dodać ten rekord do bazy danych Redis, jest następujące:
Ustaw „silnik” Customer_John
Ponadto klucz „Customer_john” powinien wygasnąć po tygodniu od 2022-12-02. Tak więc data ważności to 2022-12-09 o 12:00. W takim przypadku używamy polecenia Wygby, aby ustawić datę ważności tego klucza.
Komenda Expireat akceptuje znacznik czasu UNIX w kilka sekund. Musimy podać datę ważności jako znacznik czasu UNIX w następujący sposób:
Powiązany znacznik czasu UNIX dla daty wygaśnięcia (2022-12-09 12:00) to 1670524200).
Ustawmy datę ważności w następujący sposób:
Expireat Customer_John 1670524200
Tutaj dodajemy tylko jeden rekord zamówienia klienta do bazy danych. Ale tak nie jest, jeśli chodzi o scenariusz rzeczywistego. Mogą istnieć setki zamówień klientów, które są przetwarzane na tydzień. Trudno śledzić daty ważności dla wszystkich rekordów zamówień klienta.
Komenda wygasa jest przydatna w tego rodzaju scenariuszach. Jeśli masz klawisz Redis, polecenie wyginięcia pomaga odzyskać powiązaną datę ważności w sekundach od daty epoki.
Przyprowadźmy datę ważności klucza klienta_john w następujący sposób:
Wygby Customer_John
Zgodnie z oczekiwaniami, znacznik czasu UNIX jest zwracany. Jeśli przekonwertujesz tę wartość znacznika czasu na format, który można czytać, powinien on podać dokładną datę ustawioną w poprzednim kroku.
Komenda wygasa może być używana, gdy masz dużą ilość danych w bazie danych Redis i musisz wiedzieć o datach ważności dowolnego kluczy.
Kiedy nie ma czasu ważności na klucz Redis
Utwórzmy klawisz Redis bez czasu ważności (TTL) w następujący sposób:
Ustaw scenariusz NO_TTL_KEY „Bez TTL”
Jeśli wykonamy polecenie Wygby dla tego klucza, powinno zwrócić -1. Jest tak, ponieważ „no_ttl_key” nie jest powiązane z TTL.
Wygby no_ttl_key
Kiedy klucz nie istnieje
Jeśli uruchomimy polecenie Wygby, określając klucz, który nie istnieje w bieżącej bazie danych Redis, powinien on zwrócić odpowiedź -2 w następujący sposób:
Wygby toczyni_exist_key
Wniosek
Podsumowując, polecenie Redis Expreteime służy do odzyskania daty wygaśnięcia lub godziny danego klucza. Zwraca znacznik czasu UNIX w kilka sekund. Jeśli nie ma czasu ważności, który jest powiązany z danym kluczem, polecenie wygasa zwraca negatywne 1. Polecenie zwraca -2, jeśli określony klucz nie istnieje. Co najważniejsze, to polecenie może być używane w aplikacjach o wysokiej wydajności ze względu na jego szybkie wykonanie z złożonością O (1).