wp_suspend_cache_invalidation()WP 2.7.0

Приостанавливает удаление/обнуление объектов кэша.

Включает/отключает аннулирование кэша. Полезно при импорте (добавлении данных), когда не нужно инвалидировать (удалять) кэш каждый раз, например, при вставке постов.

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

При wp_suspend_cache_invalidation( true ) будет отключена работа функций:

Хуков нет.

Возвращает

true|false. Текущее значение.

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

wp_suspend_cache_invalidation( $suspend );
$suspend(true|false)
Следует ли приостановить/включить аннулирование кэша.
По умолчанию: true

Примеры

0

#1 Временно отключим все функции обнуление кэша

Допустим мы добавляем много данных в БД, мы делаем только добавление данных и поэтому нам не нужно обнулять кэш (потому что он не изменяется). На обнуление кэша тратиться какое-то время, чтобы его сэкономить, мы можешь отключить обнуление кэша на момент вставки данных в БД:

// Приостановить кучу всего в ядре WP
wp_defer_term_counting( true );
wp_defer_comment_counting( true );
wp_suspend_cache_invalidation( true );

// вставляем данные
insert_categories();
insert_tags();
insert_terms();
insert_posts();

// Включение кучи всего в ядре WP
wp_suspend_cache_invalidation( false );
wp_cache_flush();                   // сбросим весь кэш
wp_defer_term_counting( false );    // пересчитаем все
wp_defer_comment_counting( false ); // пересчитаем все

Заметки

  • Global. true|false. $_wp_suspend_cache_invalidation

Список изменений

С версии 2.7.0 Введена.

Код wp_suspend_cache_invalidation() WP 6.8

function wp_suspend_cache_invalidation( $suspend = true ) {
	global $_wp_suspend_cache_invalidation;

	$current_suspend                = $_wp_suspend_cache_invalidation;
	$_wp_suspend_cache_invalidation = $suspend;
	return $current_suspend;
}