Nodea — logo

Transient

Transient to mechanizm tymczasowej pamięci podręcznej wbudowany w system WordPress, udostępniany przez tak zwane Transient API. Pozwala zapisać wynik kosztownej operacji — na przykład odpowiedź z zewnętrznego API, wynik złożonego zapytania do bazy czy przetworzoną listę wpisów — wraz z określonym czasem ważności, aby przy kolejnych odsłonach strony sięgać po gotowy rezultat zamiast liczyć go od nowa.

Na czym polega działanie transientów?

Transient API opiera się na trzech prostych funkcjach: set_transient() zapisuje dane pod unikalnym kluczem i ustala liczbę sekund, po których wygasną; get_transient() odczytuje wartość, zwracając false, jeśli klucz nie istnieje lub jego czas minął; delete_transient() usuwa wpis ręcznie. Typowy schemat użycia wygląda tak: kod najpierw próbuje pobrać dane transientem, a dopiero gdy ich nie ma (bo wygasły lub nigdy nie były zapisane), wykonuje kosztowną operację i zapisuje jej wynik na przyszłość. To odróżnia transient od zwykłej opcji WordPress, która żyje bezterminowo. Domyślnie transienty lądują w tabeli wp_options w bazie danych, ale jeśli serwer korzysta z zewnętrznej pamięci obiektów, przechowuje je w Redis lub Memcached.

Zastosowanie w praktyce

Transienty to jeden z najprostszych sposobów przyspieszenia witryny opartej na WordPressie. Buforuje się nimi elementy, które zmieniają się rzadko, a są kosztowne w generowaniu: kanały RSS z innych serwisów, wyniki zapytań do zewnętrznych usług, popularne wpisy czy skomplikowane wyliczenia w menu. Dzięki temu odciąża się bazę danych i skraca czas odpowiedzi serwera, co bezpośrednio poprawia wskaźnik TTFB. Transienty stanowią warstwę pamięci podręcznej na poziomie aplikacji, uzupełniającą cache po stronie serwera. Ważne jest rozsądne dobranie czasu wygaśnięcia oraz świadome unieważnianie transientu po zmianie danych — inaczej użytkownik może przez chwilę widzieć nieaktualne informacje.

Powiązane pojęcia

Najczęstsze pytania

Gdzie WordPress przechowuje transienty?

Domyślnie transienty trafiają do tabeli wp_options w bazie danych. Jeśli jednak na serwerze skonfigurowana jest zewnętrzna pamięć podręczna obiektów, na przykład Redis lub Memcached, WordPress przechowuje je w niej — dużo szybciej i bez obciążania bazy przy każdym odczycie.

Czym różni się transient od zwykłej opcji WordPress?

Zwykła opcja (option) przechowuje dane bezterminowo, aż ktoś je zmieni lub usunie. Transient ma wbudowany czas wygaśnięcia — po jego upływie zostaje automatycznie uznany za nieważny i przy kolejnym odczycie zwraca wartość pustą, co wymusza ponowne wygenerowanie danych.