Різниця між мінімальним терміном використання кешу та закінченням терміну кешованих сторінок


35

На сторінці продуктивності Drupal під кешем польових наборів у вас є два варіанти. Один - мінімальний термін служби кешу, а інший - закінчення терміну кешування сторінок.

введіть тут опис зображення

Яка різниця між цими двома.


Погляньте ближче на "зовнішнє" слово;)
Молот

1
Я якось знаю відповідь. Я думав написати трохи детальну відповідь, щоб лише підтвердити своє мислення та сподіваючись, що це може допомогти іншим.
Гокуль НК

Для детальної відповіді перевіряйте drupal.stackexchange.com/questions/83315/…
NK

Відповіді:


39

Я зробив наступні спостереження, витративши кілька годин. Якщо є якісь прогалини чи помилки, повідомте мене. Я буду радий робити видання.

Перший спостерігач, що жоден із Варіантів під КАЧУВАННЯ не є взаємозалежним. Якби вони були, ви б бачили їх у різних наборах полів (або як залежні поля). Запишіть це спостереження, і ми переглянемо це пізніше.

введіть тут опис зображення

Почнемо з першого варіанту кеш-сторінок для анонімних користувачів . введіть тут опис зображення

Перевіряючи цей параметр, ви в основному говорите про Drupal

Слухай, звірята, коли анонімний користувач відвідує мій сайт,

  1. Збережіть створений HTML у таблиці кешу
  2. Так що я можу відображати однаковий результат для всіх користувачів, оскільки мої сторінки залишаються однаковими для всіх анонімних користувачів.
  3. І не очищайте кеші сторінок, поки я не скажу очищення всіх кеш-пам'яток.

Також навіть якщо ви не вмикаєте Cache Pages for anonymous users сторінку, вона все одно може кешуватися зовнішніми системами кешування. Наприклад: підвищення

Тепер давайте перейдемо до наступних варіантів, які ви в кінцевому підсумку використовуєте.

Термін дії кешованих сторінок

введіть тут опис зображення

  1. Зауважте, що це налаштування не має нічого спільного з таблицями баз даних Drupal або таблицями кеша.
  2. Прочитайте опис The maximum time an external cache can use an old version of a page.Як зазначав Моло, ключове слово є зовнішнім.
  3. Отже, що ця опція в основному робить, це встановлює кеш-керування заголовка publicта значення максимального віку в заголовку на вказане значення (в цьому випадку 1 день).
  4. Це заголовок повідомляє externalсистемам кешування не робити дзвінки на сервер для цієї сторінки до максимального віку, оскільки вони можуть показувати цю сторінку з власного кешу. Після максимального віку система кешування повинна перевіритись із сервером Drupal, щоб перевірити, чи змінився вміст.

  5. Якщо це сервер Varnish, він не здійснює дзвінок до Apache і повертає сторінку зі свого кешу. Тож припустимо, що Varnish кеширував сторінку, а тисячі різних користувачів зробили запит на цю сторінку. Тож це означає, що 1000 запитів було оброблено, не зачепивши сервер Apache жодного разу.

Мінімальний час життя кешу введіть тут опис зображення

Якщо ваш сайт не має величезного трафіку або ви не впевнені, що це за значення, краще залишити це значення як жодне.

  1. Це значення застосовується не лише для сторінок. Але всі об'єкти кешу.
  2. Це значення говорить про те, що "нормально обслуговувати застарілі об'єкти кеша"
  3. У нашому випадку значення встановлюється на 5 хв.
  4. Якщо у вас є сторінка, на якій перелічено п'ять останніх блогів на вашій домашній сторінці. Що означає вищезгадані значення, це те, що якщо створити новий блог, його нормально, щоб блог не з’являвся у списку протягом п'яти хвилин.
  5. Коли це значення встановлено, щоб кеш оновлювався / відтворювався мінімум, потрібно пройти стільки часу, і слід виконати дію очищення кешу [Функція очищення кешу повинна бути запущена].

1
Дякую за цю відповідь. Я трохи розгубився: для "Кеш-сторінок для анонімних користувачів" ви говорите, що це означає "не очищати кеші сторінок, поки я не скасую очищення всіх кешів". Що являє собою це "я кажу" ? Що призведе до очищення кешу?
s427

1
@ s427, будь ласка, перевірте drupal.stackexchange.com/questions/102976/…, щоб дізнатись про те, що призведе до очищення кешу.
Гокуль НК

1
Що мені здалося цікавим, це те, що це справедливо лише в тому випадку, якщо ввімкнено "Кеш-сторінки для анонімних користувачів". Якщо ні, змінити "Закінчення терміну кешування сторінок" нічого не робити, а включення "Мінімальний термін служби кешу" встановлює заголовки. Тільки якщо ввімкнено кешування для анонімних користувачів, і ТІЛЬКО ТОГО "Закінчення терміну кешування сторінок" встановлює заголовки. Це трохи заплутано ...
Łukasz Zaroda

19

Ця стаття має гарне завершення термінології кешування Drupal: http://www.phase2technology.com/blog/caching-in-drupal/

Короткий зміст відповідних моментів:

Мінімальний термін служби кешу часто трактується неправильно, оскільки він означає, що сторінки будуть відновлені після того, як пройшло багато часу. Це насправді означає, що сторінки не будуть регенеровані, поки щонайменше пройде стільки часу і не відбудеться подія очищення кешу.

Термін дії кешованих сторінок також іноді неправильно трактується. Це значення керує тим, що надсилається як значення максимального віку в заголовку Cache-Control, і, таким чином, радить проксі-серверам, як довго вони можуть обслуговувати сторінку, не вимагаючи від вашої установки Drupal для нової копії. Це не означає, що сторінка буде відновлена ​​через стільки часу, це просто означає, що проксі-сервер повинен перевірити ще раз Друпал, щоб перевірити, чи існує нова версія сторінки через стільки часу. Drupal відновлює сторінку лише після події очищення кешу.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.