Способы очистки кэша с помощью функции cache_clear_all()
14:25Примеры работы функции cache_clear_all().
Для очистки кэша страниц и блоков с истёкшим временем хранения, нужно вызвать ф-ю без аргументов:
cache_clear_all();
это равносильно:
cache_clear_all(NULL, 'cache_block'); cache_clear_all(NULL, 'cache_page');
null
говорит о том, что нужно удалять данные только с истёкшим сроком.
Таким образом, чтобы удалить все устаревшие данные из указанной таблицы, нужно вторым аргументом передать название таблицы:
cache_clear_all(NULL, 'cache_TABLE');
Удалить все данные из указанной таблицы, даже тех, срок которых не истёк:
cache_clear_all('*', 'cache_TABLE', TRUE);
Удалить данные, ID которых имеет определённый префикс, даже тех, срок которых ещё не истёк:
cache_clear_all('ID_PREFIX', 'cache_TABLE', TRUE);
Например можно удалить кэш страниц таксономии:
cache_clear_all('http://example.com/taxonomy/term/', 'cache_page', TRUE);
Чтобы удалить из кэша данные по ID, нужно первым аргументом передать идентификатор, а вторым название таблицы:
cache_clear_all('ID', 'cache_TABLE');
Например можно удалить кэш определённой страницы:
cache_clear_all('http://example.com/node/123', 'cache_page');
Очистить все кэши можно с помощью функции:
drupal_flush_all_caches();
По материалам An overview of Drupal's cache_clear_all uses.