12.1. Основи: Кеш
Drupal на якому працює ваш сайт, на кожен запит сторінки, повиннен виконувати обчислення і обробляти дані з бази даних, для того щоб скласти сторінку, яка відправляється браузеру або іншому додатку що має доступ до сайту. Ці обчислення займають час, це може приводити до того, що завантаження сторінки займе більше часу, ніж хотілося б.
Нижче наведено кілька шляхів прискорення завантаження сторінки, включаючи установку додатків на сервер. Ядро Drupal вже включає в себе модулі Internal Page Cache і Dynamic Page Cache, які не вимагають додаткових налаштуваннь на сервері; вони використовують механізм кеша в базі данних для прискорення вашого сайту. Таким чином ці модулі працюють так, що обчислення, проміжні результати та вся сторінка цілком зберігаються в спеціальних таблицях бази даних (більш відомі як кеш). Наступний раз, коли будуть потрібні ті ж самі обчислення або та ж інформація або вся сторінка цілком, в кращому випадку, може бути відправлена і використана ще раз, уникаючи перестворення тих же обчислень заново. На додаток, коли контент або дані піддаються змінам, часткові обчислення будуть оновлені, це призводить до того що частина кешованих даних буде видалена з кешу, приводячи до того що нові обчислення будуть перевиконані ще раз і будуть збережені в кеші, коли це буде необхідно до наступного разу.
Ці модулі для кешування (Internal Page Cache і Dynamic Page Cache) працюють стабільно і надають деякі прискорення для більшості сайтів. Однак іноді кеш сторінки можуть мати проблеми, такі як:
- Пошкоджені дані в кеші призводять до некоректного виводу сторінки
- Старі дані залишаються в кеші занадто довго і призводять до застарілого висновку сторінки
- Неефективне кешування призводить до того, що сторінка відкривається довго
Незалежно від того чи включені два кешуючих модуля на вашому сайті, ядро Drupal все одно буде використовувати кеш для багатьох внутрішніх обчислень. Ядро Drupal включає кеш для даних:
- Кеш системи темізаціі для інформації в базі даних про шаблони які використані при обробці різних типів даних. Якщо ви розробляєте нову тему і додаєте новий файл шаблону, то вам необхідно очистити цей кеш, щоб ваш файл був розпізнаний.
- Файли CSS і JavaScript можуть бути за бажанням оптимізовані і стиснуті (на основі налаштувань вашого сайту). Також, якщо стислі версії зберігаються в файловій системі, то вони не повинні перестворюватися і стискатися занадто часто. Якщо ви розробляєте модуль або тему, ви можливо захочете також відключити або очистити ці файли кешу, щоб додати новий CSS або JavaScript файл.
- Drupal знаходить певні низькорівневі функції і класи PHP, такі як реалізації хуків і класи плагінів, з ваших встановлених модулів і зберігає цю інформацію про функціонал ваших модулів. Якщо ви розробляєте новий модуль або додаєте новий функціонал в існуючий модуль, вам можливо буде потрібно очистити цей кеш, щоб новий функціонал був знайдений.
Якщо ви маєте проблеми з вашим сайтом, в першу чергу спробуйте почистити кеш. Дивіться Розділ 12.2, «Очищення кешу» для більш детальної інформації.
Почитайте про додаткове кешування і методи оптимізації продуктивності на сторінці Drupal.org сторінка документації спільноти "Caching overview".
Автори
Написано Jennifer Hodgdon.
Переклав Олексій Бондаренко із Mazaltov.
Source file: prevent-cache.asciidoc
Help improve this page
You can:
- Log in, click Edit, and edit this page
- Log in, click Discuss, update the Page status value, and suggest an improvement
- Log in and create a Documentation issue with your suggestion