wp_cache_flush_runtime()WP 6.0.0

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

Как обсуждалось в тикете #55080, WP нуждался в способе, позволяющем пользователям очищать объектный кэш в памяти, при этом не трогать кэш, если он хранится постоянно (не в памяти), например, в Redis - подробнее читайте Постоянный Объектный кэш.

Эта возможность часто была нужна для случаев, когда запускаются длительные процессы в крон задачах или через WP-CLI.

Работает на основе: wp_using_ext_object_cache(), wp_cache_flush()

Хуков нет.

Возвращает

true|false. True при успехе, false при неудаче.

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

wp_cache_flush_runtime();

Примеры

0

#1 Пример использования

В приведенном примере объектный кэш будет сброшен после того, как в базу данных будет добавлено 100 постов.

$counter = 0;

foreach ( $posts as $post ) {
	$counter++;

	wp_insert_post( $post );

	if ( 100 === $counter ) {
		wp_cache_flush_runtime();
		$counter = 0;
	} 

}

Заметки

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

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

Код wp_cache_flush_runtime() WP 6.1.1

function wp_cache_flush_runtime() {
	if ( ! wp_cache_supports( 'flush_runtime' ) ) {
		_doing_it_wrong(
			__FUNCTION__,
			__( 'Your object cache implementation does not support flushing the in-memory runtime cache.' ),
			'6.1.0'
		);

		return false;
	}

	return wp_cache_flush();
}