wp_cache_get() WP 2.0.0

Отримує дані з об’єктного кешу за вказаним ключем та групою.

Робота з кешем відбувається за допомогою екземпляра класу WP_Object_Cache . Дані зберігаються на згадку під час генерації сторінки. Якщо використовується плагін об’єктного кешування, дані зберігаються в об’єктний кеш на більший рядок, ніж час генерації сторінки, і з ними можна працювати між різними генераціями сторінок. У цьому і є вся суть плагінів об’єктного кешування.

Докладніше про Об’єктний кеш у WordPress .

Дивіться також:

  • wp_cache_add() – додає кеш. Нічого не робить, якщо кеш уже є.

  • wp_cache_set() – додає кеш. Оновлює кеш, якщо кеш уже є.
Працює на основі:
WP_Object_Cache::get()
Основа для:
wp_load_alloptions()
1 раз – 0.000001 сек
(швидкість світла) | 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, якщо кеш не знайдено)

Приклади

0

#1 Отримання даних їхнього кешу

За замовчуванням більшість даних зберігаються у кеші. Наприклад, опції WordPress додаються до кешу при першому зверненні, і всі наступні рази ця опція буде вилучатися з кешу, а не з БД. Це зроблено для того, щоб зменшити кількість запитів до бази даних.

Ось як ми можемо отримати метадані користувача з кешу:

$user_meta = wp_cache_get(1, 'user_meta');
0

#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 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);
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *