wp_suspend_cache_invalidation()
Приостанавливает удаление/обнуление объектов кэша.
Включает/отключает аннулирование кэша. Полезно при импорте (добавлении данных), когда не нужно инвалидировать (удалять) кэш каждый раз, например, при вставке постов.
Это важно, когда все функции должны быть уверены, что работают с одинаковыми данными из кэша, для этого мы отключаем обнуление кэша, чтобы всегда использовался один кэш, добавленный первый раз.
При wp_suspend_cache_invalidation( true )
будет отключена работа функций:
- clean_post_cache() — Удаляет объектный кэш записи по переданному ID. Также будет удален кэш терминов и дочерних записей.
- clean_term_cache() — Removes all of the term IDs from the cache.
- clean_attachment_cache() — Will clean the attachment in the cache.
- clean_blog_cache() — Clean the blog cache
- clean_network_cache() — Removes a network from the object cache.
- clean_object_term_cache() — Removes the taxonomy relationship to terms from the cache.
Смотрите также:
Хуков нет.
Возвращает
true|false
. Текущее значение.
Использование
wp_suspend_cache_invalidation( $suspend );
- $suspend(true|false)
- Следует ли приостановить/включить аннулирование кэша.
По умолчанию: true
Примеры
#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 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; }