OpenCart как и многие другие CMS умеет кэшировать данные сайта. Механизмы кэширования позволяют оптимизировать производительность системы в целом, и ускорить процесс обработки запросов посетителей сайта. В данном посту мы поговорим про кэширование в OpenCart 2.x.
В OpenCart существует целое множество различных механизмов кэширования. Про различные типы кэша мы поговорим далее.
Системный кэш в большей степени используется для хранения результатов запроса в базу данных. Разработчики могут использовать системный кэш для хранения данных, которые меняются очень редко. К примеру, данные о языке сайта, списки локаций, товаров, и др., всё зависит от того как реализует это разработчик. Данные кэша хранятся в файлах, в папке относительно корня сайта:
system/cache
Для сброса системного кэша достаточно очистить содержимое папки.
Для ускорения работы сайта в OpenCart так же выполняется кэширование изображений товаров и дополнений. Иногда может возникнуть ситуация, что проект может занимать внушительные объёмы памяти на диске. Для исправления ситуации может потребоваться сбросить кэш изображений на сайте. Хранятся кэшированные изображения относительно корня сайта в папке:
/image/cache
Для сброса кэша изображений достаточно очистить содержимое этой папки.
vQmod – одно из самых популярных расширений OpenCart, с помощью которого можно вносить изменения в файлы проекта, не редактируя напрямую файлы ядра. Эта система перезаписи, основная идея в том, что при необходимости внесений изменений в файлы ядра, нет необходимости правки самих исходных файлов. Вместо этого создаются отдельные xml-файлы, которые содержат данные для модификации исходных файлов. Таким образом, исходные файлы остаются неизменными, а сама модификация происходит на лету, при запросе страниц сайтов. Модифицированный файл после этого размещается в отдельную папку, после этого при повторном запросе будет вызван именно файл модификации. При внесении изменений в исходные файлы, может возникнуть необходимость обновления файлов модификации, чтобы изменения вступили в силу. Решается этот вопрос отчисткой папки с файлами, где хранятся модификаторы. Делается это следующим образом, в папке /vqmod относительно корня сайта следует удалить mods.cache файл, так же после этого следует очистить содержимое каталога /cache.
После очистки папки vQmod создаст новую копию файлов, уже с обновлёнными данными.
Данное решение идёт уже встроенным в систему OpenCart, начиная со 2-версии. По сути своей работы он довольно похож на тот же vQmod, однако есть свои особенности. Основное отличие его в том, что данные о модификациях OCmod хранит в базе данных. Однако кэш модификации хранится в файлах, что так же подтверждает схожесть с vQmod. Сбросить кэш OCMod можно путём отчистки содержимого папки, которая расположена относительно корня сайта:
/system/modification
В более поздних версиях OpenCart для удобства сброса кэша OCMod в администраторской части сайта появилась кнопка «Очистить», расположена она в разделе:
Дополнения > Модификации
По нажатию кнопки очистки модификации, файлы будут создаваться по новой, уже с обновлёнными данными.
Как вы поняли различных механизмов кэширования достаточно в системе. Управлять всеми ими было бы удобно централизовано. Т.к. возиться с каждым модулем по отдельности как никак отнимает некоторое время. Для этих целей удобно обзавестись решением, которое позволит автоматизировать процесс очистки кэша для всех типов. Один из популярных таких модулей это ACCleaner (Auto Cache Cleaner), у которого название говорит само за себя. Данный модуль полностью автоматизирует процесс сброса файлов кэша, посредством администраторской части сайта.
Работать с файлами кэша особенно часто придётся на этапе разработки сайта. Связано это с тем, что данные проекта интенсивно меняются, и необходимо постоянно выполнять процедуру сброса кэша. На этом у меня всё, всем всего доброго!