wp_cache_get()
Отримує дані з об’єктного кешу за вказаним ключем та групою.
Робота з кешем відбувається за допомогою екземпляра класу WP_Object_Cache . Дані зберігаються на згадку під час генерації сторінки. Якщо використовується плагін об’єктного кешування, дані зберігаються в об’єктний кеш на більший рядок, ніж час генерації сторінки, і з ними можна працювати між різними генераціями сторінок. У цьому і є вся суть плагінів об’єктного кешування.
Докладніше про Об’єктний кеш у WordPress .
Дивіться також:
wp_cache_add() – додає кеш. Нічого не робить, якщо кеш уже є.
- wp_cache_set() – додає кеш. Оновлює кеш, якщо кеш уже є.
WP_Object_Cache::get()
wp_load_alloptions()
(швидкість світла) | 50000 разів – 0.054485 сек
(швидкість світла) |
PHP 7.1.11, WP 4.9.8
Хуків немає.
Повертає
Разное|false
. Дані кешу або false, якщо дані не вдалося отримати.
Використання
wp_cache_get($key, $group, $force, $found);
-
$key
(рядок/число) (обов’язковий) - Ключ ідентифікатор кешу.
-
$group
(рядок) -
Це можливість групувати дані кешу. Дозволяє використовувати однаковий ключ для різних груп кешу.
За замовчуванням: ” -
$force
(логічний) -
Чи оновлювати локальний кеш із постійного під час отримання даних. Постійний кеш працює у WP лише з використанням спец. плагінів.
Типово: false -
& $found
(логічний) -
Що повернути, якщо кеш знайдений, але він порожній?
Типово: null (поверне false, якщо кеш не знайдено)
Приклади
#1 Отримання даних їхнього кешу
За замовчуванням більшість даних зберігаються у кеші. Наприклад, опції WordPress додаються до кешу при першому зверненні, і всі наступні рази ця опція буде вилучатися з кешу, а не з БД. Це зроблено для того, щоб зменшити кількість запитів до бази даних.
Ось як ми можемо отримати метадані користувача з кешу:
$user_meta = wp_cache_get(1, 'user_meta');
#2 Створюємо свій кеш і отримуємо де необхідно.
Допустимо ми зробили важкий запит до БД і дані цього запиту нам будуть потрібні в різних місцях сторінки, тоді ми можемо записати ці дані в кеш і надалі, якщо він не порожній, отримувати їх без запиту до БД:
// встановлюємо свій ключ кешу $cache_key = 'my_db_result'; // Якщо даних немає в кеші, то робимо запит отримуємо дані та записуємо їх у кеш $ db_result = wp_cache_get ($ cache_key); if( false === $db_result ){ $db_result = $wpdb->get_results($query); wp_cache_set ($ cache_key, $ db_result); } // Тут $my_db_result містить результат запиту, // який буде взяти з кешу, якщо він є або отриманий із БД print_r ($ db_result);
Таке збереження кешу має сенс лише в тому випадку, якщо на вашому сайті встановлено плагін кешування об’єктів.
нотатки
- Дивіться: WP_Object_Cache::get()
- Global. WP_Object_Cache. $wp_object_cache Object cache Global instance.
список змін
З версії 2.0.0 | Введено. |
Код wp_cache_get() wp cache get WP 6.0.2
function wp_cache_get( $key, $group = '', $force = false, & $ found = null ) { Global $wp_object_cache; return $wp_object_cache->get($key, $group, $force, $found); }