logo

Paleta - Deixe colorido🎨

Palette — Construtor visual de páginas. Não precisa ser designer.

Demonstração ao vivo Baixar Palette

Scroll
30/04/2020, by maria

Cache max-age = зависимости от времени

Cache max-age аналогичен HTTP-директиве max-age заголовка Cache-Control.

Почему?

Максимальный возраст кэша обеспечивает декларативный способ создания кэшей, зависящих от времени.

Некоторые данные действительны только в течение ограниченного периода времени, в этом случае вы хотите указать соответствующий максимальный возраст. Однако в случае ядра Drupal 8 у нас нет данных, которые действительны только в течение ограниченного периода времени; мы обычно кешируем постоянно (см. ниже) и полностью полагаемся на теги кеша для аннулирования.

Какая?

Максимальный возраст кэша - это положительное целое число, выражающее количество секунд.

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

Примеры:

  • 60 означает кеширование в течение 60 секунд
  • 100 означает кеширование в течение 100 секунд
  • 0 означает кеширование на ноль секунд, т.е. не кешируется
  • \Drupal\Core\Cache\Cache::PERMANENT = cacheado para sempre invalidando-se apenas via tags (ou seja ∞ segundos).

Поэтому, если вы, например, хотите предотвратить кэширование отрендеренного блока, вы должны указать для него max-age = 0.

Пример для большинства массивов рендеринга:

$build['#cache']['max-age'] = 0;

Exemplo numa funcao:

\Drupal::cache()->set('my_cache_item', $school_list, REQUEST_TIME + (86400));

Para mudar max-age de um bloco a 0 implemente getCacheMaxAge.

Ограничения максимального возраста

К сожалению, max-age не работает для анонимных пользователей и модуля Page Cache ядра Drupal. Например, посмотрите эти проблемы:

Ate essas (e talvez outras) issues resolverem lembre: definir max-age num array incluido na pagina nao basta para anonimos verem versao nova apos expiracao. В то же время, предоставленный модуль Cache Control Override пытается смягчить проблемы. Вам также может повезти, установив пользовательский тег кэша на страницах с содержимым, зависящим от времени, и аннулируйте эти теги вручную с помощью hook_cron(). Удачи!