wp_cache_add

Добавляет данные в кэш, если кэша с указанным ключом еще нет.

Отличается от wp_cache_set(), только тем что в “add” проверяется наличие кэша. Если кэша еще нет, то управление передается методу set (функции wp_cache_set), если есть, то функция ничего не делает и возвращает false.

Иногда вместо этой функции лучше использовать аналогичную wp_cache_set() – обновляет кэш, если он уже есть или добавляет новый, если его нет.

Параметр $expire не используется по умолчанию, потому что по умолчанию, кэш сохраняется при генерации страницы и исчезает по окончании работы PHP скрипта. Этот параметр предназначен для плагинов объектного кэширования, которые сохраняют кэш в файлы и кэш используется с самого начала генерации страницы.

Хуков нет.

Возвращает

false/true. false, если указанный ключ и группа кэша уже существуют; true, если кэш был добавлен.

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

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

Примеры

#1 Добавим кэш если его нет

Для демонстрации работы wp_cache_add() возьмем код функции get_the_terms(). Функция при вызове сохраняет данные в кэш и при повторных вызовах берет данные из кэша и не делает повторный запрос в БД.

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

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

Комментарии:


Оставить комментарий

Your email address will not be published. Required fields are marked *