Как долго хранятся кеши Drupal? - PullRequest
1 голос
/ 19 января 2011

Используя модуль devel, я вижу много вызовов cache_get () и cache_set ().Через сколько времени необходимо обновить кэшированное значение?Кэш становится недействительным каждые несколько минут?

1 Ответ

1 голос
/ 19 января 2011

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

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

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

РЕДАКТИРОВАТЬ, чтобы ответить на комментарий:

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

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, поэтому он может варьироваться в зависимости от ввода.

...