Решение
Стандартно кеш хранится в базе данных, если вы не применяли кеш в файлах.
Варианты
- Очистка через Админ-часть сайта
- Очистка кеша модуля Views
- Очистка таблиц в базе данных
- Очистка кеша прав доступа
- Очистка кеша PHP-сниппетом
- Очистка кеша с помощью модуля devel
Очистка через Админ-часть сайта
Drupal 6
- Откройте страницу "Производительность" (admin/settings/performance)
- Нажмите внизу кнопку "Clear cached data" ("Очистить все кешированные данные")
Drupal 5
Если модуль Aggregate JavaScript установлен, то очистить кеш JS и CSS можно открыв в браузере адрес: http://example.com/clearjscache
Очистка кеша модуля Views
- Откройте страницу "Инструменты" ("Tools") модуля Views (admin/build/views/tools)
- Нажмите кнопку "Очистить кеш Видов" (Друпал 5)
Очистка таблиц в базе данных
Лучше вносить изменения, когда посетителей мало или перевести сайт в режим "Обслуживание".
Очистка таблиц оператором TRUNCATE
TRUNCATE `cache_table_name`;
где 'cache_table_name' нужно заменить названием соответствующей таблицей кеша
andypost@drupal.org:
Обратите внимание:
На посещаемом сайте это может привести к непредсказуемому поведению кода и посетители могут не дождаться ответа от сайта либо получить сообщение об ошибке, ибо это операция фактически пересоздает таблицы.
Очистка таблиц оператором DELETE
Оператор выполняется оень медленно.
DELETE FROM TABLE `cache_table_name`;
Таблицы кеша Drupal 6
- cache
- cache_block - кеш блоков
- cache_content - кеш нод
- cache_filter - кеш форматов ввода
- cache_form -кеш форм
- cache_menu - кеш меню
- cache_page - кеш страниц
- cache_update - кеш обновлений модулей (модуль update status)
Таблицы кеша Drupal 5
- cache
- cache_advcache_block -кеш модуля advcache_block
- cache_block - кеш блоков
- cache_comment -кеш комментариев
- cache_content - кеш контента
- cache_filter -кеш фильтров ввода
- cache_forum -кеш модуля Forum
- cache_menu - кеш меню
- cache_node - кеш нод
- cache_page - кеш страниц
- cache_path - кеш синонимов URL
- cache_search - кеш поиска
- cache_taxonomy - кеш таксономии
- cache_views -кеш модуля Views
- cache_workflow_ng -кеш модуля
Очистка кеша прав доступа
Открыть в браузере страницу: admin/content/node-settings/rebuild (Drupal 6)
Очистка кеша PHP-сниппетом
- Создать страницу
- Формат ввода установить PHP
- Страница должна быть не опубликована, чтобы она не выполнялась:
- при обращении к ноде во время поиска,
- работе cron при составлении поисковой базы,
- выборке этой ноды во вьюес,
- выводе тизера
- Страница должна быть доступна только админу
- В текст страницы вставить код:
<?php
drupal_clear_css_cache();
$core = array('cache', 'cache_content', 'cache_filter', 'cache_menu', 'cache_page', 'cache_views');
$alltables = array_merge($core, module_invoke_all('devel_caches'));
foreach ($alltables as $table) {
cache_clear_all('*', $table, true);
}
print(t('Cache cleared.'));
?>
Очистка кеша с помощью модуля devel
- Установите модуль
- Включите блок модуля
- В этом блоке будет ссылка для очистки кеша.
Полезные рецепты по этой теме
Использованные материалы
- Простой метод очистки кеша
- Очистить кеш - комментарии на друпал.ру




































Комментарии
а для чего нужно очищать кеш ? в каких случаях ?
На рабочем сайте это как правило не нужно. Кроме того, при запуске крона эти таблицы периодически очищаются.
А вот во время разработки это приходится делать часто, потому что иногда неверный код может сделать сайт недоступным, если он закешировался - тогда очистка кеша и устранение неверного кода вернёт сайт к жизни.
Перед тем, как сделать дамп базы данных стоит очистить таблицы кеша - дамп будет меньше. Может быть есть и другие случаи, но не пришло на память.
На рабочем сайте это как правило не нужно. Кроме того, при запуске крона эти таблицы периодически очищаются.
А вот во время разработки это приходится делать часто, потому что иногда неверный код может сделать сайт недоступным, если он закешировался - тогда очистка кеша и устранение неверного кода вернёт сайт к жизни.
Перед тем, как сделать дамп базы данных стоит очистить таблицы кеша - дамп будет меньше. Может быть есть и другие случаи, но не пришло на память.