Особенности кэширования в Joomla!
(1 Проголосовало)

После выхода обновленной версии CMS Joomla привлекла к себе пристальное внимание веб-разработчиков и конечных пользователей, так как работа в этой системе теперь базируется на несколько других принципах. Чтобы ускорить загрузку сайта и сократить нагрузки, оказываемые на сервер базы данных, в этой CMS используется процедура кэширования данных. Для управления кэшем в Joomla! глобальные  настройки предлагают три параметра: время жизни кэша, директория для хоанения его файлов и включение механизма кеширования. Принцип кэширования Joomla! таков: при первом обращении к модулю или материалу система сохраняет выбранные данные в файлах cache. Имена файлов генерируются так, чтобы они не в коем случае не совпадали с уже существующими. Туда помещаются не только закэшированные данные, но и дополнительная информация об объекте, попавшем в кэш, являющаяся уникальной. В случае повторного обращения к модулю или материалу, то менеджер кэша обязательно проверит объект на кэшированность. Если об этом объекте данных нет, то они будут помещены в кэш перед его отображением пользователю.Если же в кэше есть такие данные, то время кэширование проверяется. Тогда, если дата и время создания кэша отличается от настоящих на интервал, превышающий время  жизни кэша, который            установлен в глобальных настройках, то объект будет кэширован еще раз.

 

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

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

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

При любом изменении объекта происходит обновление данных кэша. Перегенерация данных кэша будет происходить независимо от времени его жизни. Таким образом, измененная статья или модуль будут отображены в обновленном варианте. Если кэш будет включении  и при этом проводить изменение модулей, то после таких внесений отображение будет некорректным. Причина этого кроется в  том, что кэш модулей будет обновляться только, если изменение параметров модуля будет с указанной максимальной продолжительности кэша частотой. Таким образом, сайты, использующие модули, которые выводят часто обновляемую информацию, такие как displaynews, newsflash должны работать с кэшем, время жизни которых составляет восемьдесят или девяносто процентов от среднего времени добавления новости.  Можно также в этих модулях просто отключить процедуру кэширования.

В качестве подведения итогов всему перечисленному, можно отметить, что благодаря кэшированию значительно снижается нагрузка на сервер БД и скорость загрузки сайта намного увеличивается.

 

Главная Статьи Особенности кэширования в Joomla!