2011-01-19 5 views

ответ

1

Модуль, который использует cache_set, устанавливает срок действия вызова. Некоторые вещи имеют явные продолжительности, другие имеют постоянную или полупостоянную жизнь, основанную на ситуации.

Кэши получают явное очищение при вызове метода через интерфейс администратора (или drush) или иным образом с использованием drupal_flush_all_caches или cache_clear_all.

В последнее время я использую hook_cron для очистки определенных кеш-таблиц каждую ночь.

EDIT, чтобы ответить на комментарий:

Чтобы увидеть, какой кэш, я обычно ставлю это в отдельном сценарии где-то:

require_once './includes/bootstrap.inc'; 
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); 
header("Content-Type: text/plain; encoding=utf-8"); 
$user = user_load(1); 
print "Modules implementing hook_cron:\n" . implode("\n", module_implements('cron')); 

Чтобы увидеть истечение срока, изучить различные cache таблиц в базе данных и посмотреть на столбец expire. Модули могут устанавливать выходы при каждом индивидуальном вызове на cache_set, поэтому он может варьироваться в зависимости от входа.

+1

Есть ли способ увидеть, какие кэш модулей и как долго? –

Смежные вопросы