[[prevent-cache]]

=== Основы: Кэш

[role="summary"]
Обзор кэша и данных сайта, которые могут быть закэшированы.

(((Кэш,обзор)))
(((Кэш страницы,обзор)))
(((Модуль,Internal Page Cache)))
(((Модуль,Dynamic Page Cache)))
(((Internal Page Cache модуль,обзор)))
(((Dynamic Page Cache модуль,обзор)))

==== Необходимые знания

<<understanding-drupal>>

==== Что такое кэш страницы?

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

Ниже приведено несколько путей ускорения загрузки страницы, включая установку
приложений на сервер. Ядро Drupal уже включает в себя модули Internal Page Cache и
Dynamic Page Cache, которые не требуют дополнительной настройки
на сервере; они используют механизм _кэша в базе данных_ для ускорения вашего сайта. Таким образом
эти модули работают так, что вычисления, промежуточные результаты и
вся страница целиком хранятся в специальных таблицах базы данных (более известные как
_кэш_). В следующих раз, когда потребуются те же самые вычисления или та же информация или вся
страница целиком, в лучшем случае, может быть отправлена и использована еще раз, избегая пересоздания
тех же вычислений заново. В добавление, когда контент или данные подвергаются изменениям, частично
вычисления будут обновлены, это приводит к тому что часть кэшированных данных будет удалена из кэша,
приводя к тому что новые вычисления будут перевыполнены еще раз и сохранены в кэше, когда это будет необходимо в следующий раз.

Эти модули для кэширования (Internal Page Cache и Dynamic Page Cache) работают стабильно и предают некоторое
ускорение для большинства сайтов. Однако иногда кэш страницы может иметь проблемы, такие как:

* Поврежденные данные в кэше приводят к некорректному выводу страницы

* Старые данные остаются в кэше слишком долго приводят к устаревшему выводу страницы

* Неэффективное кэширование приводит к тому, что страница открывается долго

==== Какие еще данные кэшируются?

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

* Кэш системы темизации для информации в базе данных о шаблонах
которые использованы при обработке различных типов данных. Если вы разрабатываете новую
тему и добавляете новый файл шаблона, то вам необходимо очистить этот кэш, чтобы
ваш файл был распознан.

* Файлы CSS и JavaScript могут быть по желанию оптимизированы и сжаты (на основании
настроек вашего сайта). Также, если сжатые версии хранятся в файловой
системе, то они не должны пересоздаваться и сжиматься слишком часто. Если вы
разрабатываете модуль или  тему, вы возможно захотите также отключить или очистить эти
файлы кэша, чтобы добавить новый CSS или JavaScript файл.

* Drupal находит определенные низкоуровневые функции и классы PHP, такие как
_реализации хуков_ и _классы плагинов_, из ваших установленных модулей и
хранит эту информацию о функционале ваших модулей. Если вы
разрабатываете новый модуль или добавляете новый функционал в существующий модуль, вам возможно потребуется
очистить этот кэш, чтобы новый функционал был найден.

==== Связанные темы

Если вы имеете проблемы с вашим сайтом, в первую очередь попробуйте
почистить кэш. Смотрите <<prevent-cache-clear>> для больше информации.

==== Дополнительные материалы

Почитайте о дополнительном кэширование и методах оптимизации производительности на странице
https://www.drupal.org/docs/7/managing-site-performance-and-scalability/caching-to-improve-performance/caching-overview[_Drupal.org_ community documentation page "Caching to improve performance"].


*Авторы*

Написано https://www.drupal.org/u/jhodgdon[Jennifer Hodgdon]

Переведено https://www.drupal.org/u/levmyshkin[Абраменко Иван] из
https://www.technocrat.com.au/[Technocrat].
