Кэш MODX

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

Правило относительно того, что нужно помещать в кэш достаточно простое : пусть MODX помещает в кэш контент, который редко меняется. Если у вас страница, на которой отображается текущее время, и эта страница помещается в кэш, каждый посетитель сайта увидит время, которое было при первом посещении этой страницы вместо текущего времени. Такая ситуация будет иметь место до очистки кэша.

Кэширование управляется двумя способами. Кэширование ресурсов MODX управляется при помощи двух флажков в панели управления страницей "Настройки"  в разделе Создания/Редактирования ресурса. Если вы выключите флажок "Кэшируемая" ("Cacheable"), MODX будет создавать новую версию страницы всякий раз, когда кто-то посещает ее. Если флажок "Очистить кэш" установлен (значение по умолчанию), кэш будет очищаться при сохранении страницы.

Для всех тегов MODX (включая теги для сниппетов, чанков и tv-параметров) управление кэшированием выполняется посредством задания формата тега. Если после открывающих квадратных скобок указан восклицательный знак, то данный объект не учавствует в кэшировании. Если восклицательного знака нет, объект кэшируется. Восклицательный знак означает "дайте мне свежую версию этого". Если содержимое чанка меняется редко, вы можете разрешить MODX кэшировать его, используя, например, такой тег :

[[$ChunkName]]

Вы можете очищать кэш MODX вручную всякий раз, когда вы изменяете содержимое чанка. Сниппеты часто создают в разное время различные выходные данные. В этих случаях лучше отключить кэширование :

[[!SnippetName]]

Нужно помнить, что кэширование различных элементов в MODX Revolution выполняется независимо. Для приведенного выше примера относительно страницы, отображающей текущее время, текущее время вероятно будет вычислено, форматировано и отображено определенным сниппетом (назовем его ShowTime). Если остальная часть страницы никогда не изменяется, вы можете установить кэширование для этой страницы, но вызывать сниппет вот этим тегом :

[[!ShowTime]]

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

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

Назад Вперёд