Как долго длится кеши Drupal?
-
12-10-2019 - |
Вопрос
Используя модуль Devel, я вижу много вызовов Cache_get () и cache_set (). После того, как долго нужно обновить кэшированное значение? Каждые несколько минут кэш невигается?
Решение
Модуль, который использует 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
, поэтому он может варьироваться в записи по входу.