5 grudnia 2020

Redis – czas ważności kluczy

Seria o redisie tworzy się nadal, to moment na przypomnienie czego dotyczą poprzednie wpisy:

  1. Redis – wprowadzenie
    Instalacja redisa i uruchomienie
  2. Redis – podstawy cz. 1
    Tworzenie kluczy oraz ich odczyt
  3. Redis – podstawy cz. 2
    Usuwanie kluczy oraz sprawdzenie czy klucz istnieje

W tym wpisie zajmę się czasem ważności klucza.

Jak wspomniałem przy pierwszym wpisie, redis może posłużyć jako miejsce do przechowywania sesji użytkowników. Sesje jak wiadomo trwać wiecznie nie powinny 🙂 Gdzie i w jaki sposób możemy zatem sprawdzić/ustawić ich czas trwania ?
Oczywiście w momencie tworzenia kluczy

SET user_1 "Jaroslaw" EX 60

Powyżej stworzyliśmy klucz „user_1” o wartości „Jaroslaw” na czas 60 sekund.

Sprawdźmy teraz ile jeszcze zostało mu czasu do wygaśnięcia:

TTL user_1

Zwrócona wartość w moim przypadku wynosiła:

(integer) 56

Zaczekajmy zatem aż minie minuta i sprawdźmy ponownie ile zostało czasu do wygaśnięcia klucza „user_1„:

(integer) -2

Odpowiedź „-2” oznacza, że klucz nie istnieje.

Stwórzmy ponownie nasz klucz, lecz tym razem nie ustawiajmy mu czasu wygaśnięcia:

SET user_1 "Jaroslaw"

Sprawdźmy mimo wszystko kiedy wygaśnie:

TTL user_1

Odpowiedź jaką otrzymamy:

(integer) -1

Na sam koniec, czy jest możliwa zmiana czasu wygaśnięcia istniejących kluczy?
Odpowiedź brzmi, tak.

Poniżej przedstawię wzór:

EXPIRE {klucz} {sekundy}

Kolejne pytanie które kończy dzisiejszy wpis.
Czy jest możliwa zmiana klucza tymczasowego na stały ?
Odpowiedź brzmi, tak. Oto wzór:

PERSIST {klucz}