WordPress как на ладони
wordpress jino

wp_cache_set() WP 2.0

Добавляет данные в кэш. Перезапишет кэш, если он существует.

Эта функция записывает и перезаписывает кэш, в отличии от wp_cache_add(), которая только записывает кэш, если его еще нет...

Хуков нет.

Возвращает

Всегда возвращает true.

Использование

wp_cache_set( $key, $data, $group, $expire );
$key(строка/число) (обязательный)
Ключ, по которому потом можно получить данные.
По умолчанию: нет
$data(смешанный) (обязательный)
Данные, которые нужно записать в кэш.
По умолчанию: нет
$group(строка)
Позволяет группировать данные кэша. Чтобы можно было использовать одинаковые ключи в разных группах.
По умолчанию: 'default'
$expire(число)
Определяет время жизни кэша в секундах. Нет смысла использовать этот параметр, если на сайте не установлен плагин объектного кэширования, потому что без него, WordPress сохраняет кэш только на время генерации страницы, а этот параметр игнорируется, т.е. постоянно ничего никуда не кэшируется.

Примеры

#1. Создаем свой кэш и получаем его где необходимо

Допустим мы сделали тяжелый запрос к БД и данные этого запроса нам будут нужны в разных местах страницы, тогда мы может записать эти данные в кэш и в дальнейшем, если он не пустой, получать их без запроса к БД:

// устанавливаем свой ключ кэша
$cache_key = 'my_db_result';

// Если данных нет в кэше, то делаем запрос получаем данные и записываем их в кэш
if( ! $my_db_result = wp_cache_get( $cache_key ) ){
	global $wpdb;
	$my_db_result = $wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_type = 'books'");

	wp_cache_set( $cache_key, $my_db_result );
}

// тут $my_db_result содержит результат запроса, 
// который будет взят из кэша, если он есть или получен из БД

print_r( $my_db_result );

Код wp cache set: wp-includes/cache.php WP 4.8.2

<?php
function wp_cache_set( $key, $data, $group = '', $expire = 0 ) {
	global $wp_object_cache;

	return $wp_object_cache->set( $key, $data, $group, (int) $expire );
}

Cвязанные функции

Из метки: cache (кэш кеш)

Еще из раздела: Кэш (object cache)

Http://bastioncoop.ru/

http://bastioncoop.ru/ потребления и сбережения.

bastioncoop.ru

wp_cache_set Комментариев нет

Здравствуйте, !

Ваш комментарий