Что такое TRANSIENT?

В WordPress transient — это механизм временного кэширования данных с автоматическим сроком жизни (TTL).

Проще:

transient = временное значение в базе (или кэше), которое само “протухает”

🧠 Зачем нужны transient

Чтобы не выполнять тяжёлые операции каждый раз:


📦 Как это выглядит

Установка

set_transient('my_key', $data, 3600);

👉 сохранить данные на 1 час


Получение

$data = get_transient('my_key');

Удаление

delete_transient('my_key');

🔁 Как это работает

$data = get_transient('my_key');

if ($data === false) {
    // кэша нет или истёк
    $data = expensive_function();

    set_transient('my_key', $data, 3600);
}

return $data;

📍 Где хранятся transient

По умолчанию:

👉 в таблице:

wp_options

ключи выглядят так:

_transient_my_key
_transient_timeout_my_key

Если есть object cache (Redis/Memcached)

Тогда transient хранятся:

👉 в памяти (быстрее)


⏱ Время жизни

set_transient('key', $data, 3600);
значение смысл
60 1 минута
3600 1 час
86400 1 день

❗ Важно

TTL — это максимальное время, а не гарантия:

transient может исчезнуть раньше

(например при очистке кэша)


🔥 Примеры использования

1. Кэш WP_Query

$posts = get_transient('latest_posts');

if ($posts === false) {
    $posts = get_posts([...]);
    set_transient('latest_posts', $posts, 600);
}

2. Кэш API

$response = get_transient('api_data');

if ($response === false) {
    $response = wp_remote_get('https://api.site.com');
    set_transient('api_data', $response, 3600);
}

3. Sitemap

$xml = get_transient('sitemap');

if ($xml === false) {
    $xml = generate_sitemap();
    set_transient('sitemap', $xml, 3600);
}

⚠️ Важные особенности

1. Не для постоянных данных

❌ нельзя хранить:

👉 transient может исчезнуть


2. Автоудаление

WordPress сам удаляет истёкшие transient не сразу, а при обращении к ним.


3. Может быть очищен полностью

При:


🧠 Transient vs Options

  transient option
время жизни есть нет
может исчезнуть да нет
назначение кэш постоянные данные

🚀 Когда использовать

Используй transient, если:

✔ данные тяжело получать
✔ можно пересчитать
✔ не критично потерять


❌ Когда НЕ использовать

❌ SEO мета
❌ важные даты
❌ пользовательские настройки


🏁 Итог

Transient — это встроенный кэш WordPress с TTL

Он:

✔ ускоряет сайт
✔ снижает нагрузку
✔ автоматически “протухает”

 


Revision #1
Created 2026-04-04 05:20:20 UTC by Nikolay
Updated 2026-04-04 05:23:48 UTC by Nikolay