Как очистить кэш в OpenCart?

Как очистить кэш в OpenCart?

  • 18 октября 2019
 

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

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

Для начала разберем, на каких уровнях в OpenCart осуществляется кэширование. Кэширование информации осуществляется на клиентском и серверном уровнях.

Клиентская часть (кэш браузера)

Что касается клиентской части, то она одинаковая для всех ресурсов. Все данные кэшируются при помощи веб-клиентов на ПК пользователей магазина. Понятно, очищать такой тип кэша можно в браузере, удаляя определенные файлы. Чтоб включить OpenCart кэш браузера достаточно добавить в .htaccess в конце следующие директивы:
 

<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript
</IfModule>
<IfModule mod_headers.c>
    Header unset Last-Modified
# 120 days
    <FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
    Header set Cache-Control "max-age=7776000, public"
    </FilesMatch>
# 120 days + Append Accept Encoding
    <FilesMatch "\.(css|js|cssgz|jsgz)$">
    Header set Cache-Control "max-age=7776000, public"
    Header append Vary: Accept-Encoding
    </FilesMatch>   
# 120 days
    <FilesMatch "\.(xml|txt)$">
    Header set Cache-Control "max-age=7776000, public, must-revalidate"
    </FilesMatch>
# 120 days
    <FilesMatch "\.(html|htm|php)$">
        Header set Cache-Control "max-age=7776000, private, must-revalidate"
    </FilesMatch>
# Compatible with old browsers
    <FilesMatch "\.(js|css|gif|png|jpe?g|pdf|xml|oga|ogg|m4a|ogv|mp4|m4v|webm|svg|svgz|eot|ttf|otf|woff|ico|webp|appcache|manifest|htc|crx|oex|xpi|safariextz|vcf)$" >
        Header unset X-UA-Compatible
    </FilesMatch>
</IfModule>

Серверная часть

Что касается серверной части, то тут все сложнее. Для каждой CMS и движка информация кэшируются особым образом. Поэтому каждую ситуацию придется разбирать отдельно. Серверный OpenCart кэш разделяется на типы. Рассмотрим каждый из них:

Opencart 1.5 и 2 - VQMod кэш

Это система, позволяющая изменять в виртуальном режиме сайт, не трогая его код.

В OpenCart 1.5 и 2 очистить кэш VQMod понадобится в случае, если установленный модуль или шаблон, не выполняет в полной мере свои функции. Столкнулись с подобной проблемой, становится понятно, что файл VQMod кэша не обновился и внесенные поправки не были применены.

Решается этот вопрос сбросом кэша, чтоб VQMod при образовании новой копии смог создать файл, заново учитывая все необходимые правки.

Для этого открываем папку /vqmod и удаляем файлы:
mods.cache
checked.cache

Потом открываем каталог /vqmod/cache и удаляем содержимое этой папки. Все эти файлы создадутся уже с новыми данными.

Opencart 2 и 3: OCMod кэш

OCMod можно назвать продолжение VQMod. Его устанавливать не нужно, это встроенное решение в OpenCart, начиная с версии 2.0. Основное отличие этих двух инструментов в том, что данные о модификациях, производящихся в OCMod файлах, хранятся в базе данных сайта. Но кэш модификаций, как и в VQMod, находится в файлах. Причины и способы очистки OCMod кэша будут сходны VQMod.

В последних версиях OpenCart можно очистить кэш из админки. Для этого заходим в административную панель магазина и переходим в раздел Дополнения (кнопка в виде кусочка пазла) — Модификации. Тут ищем оранжевую кнопку в виде ластика. Нажимаем на нее, и кэш OCMod очистится автоматически. Не забываем в конце нажимать "Обновить", чтоб обновить OpenCart кэш модификаторов.


Также можно очистить OCMod кэш вручную, удаляем все файлы и каталоги в /system/modification/

Opencart 3: кэш шаблона

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

В OcStore 3 это меню выглядит немного иначе, однако, принцип работы с ним одинаковый.

Системный OpenCart кэш

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

Например, это могут быть данные про:

  • язык;
  • страну;
  • географическую зону;
  • производителя;
  • последние товары и т.д.

Кэшированная информация хранится в виде файлов с именами типа: cache.object(.id).time() + 3600.

Для очистки системного кэша OpenCart удаляем из каталога system/cache все содержимое.

Кэш изображений в OpenCart

При большом количестве товара и дополнений, имеющих графическую часть (шаблоны, модули), кэш изображений OpenCart может быть внушительных размеров. Чтоб очистить этот кэш необходимо удалить все файлы и каталоги из /image/cache/ либо воспользоваться модулями или (если вы пользуетесь OcStore 3) кнопкой "Кэш изображений"  на первой странице админки, синяя кнопка с шестеренкой в правом верхнем углу.

Все вышеуказанные кэши чистятся вручную, но есть и такие, которые можно настроить на автоматизированную работу.

Автоматическая очистка кэша OpenCart

Понятно, что для выполнения такого рода функций понадобится модуль очистки кэша OpenCart 2. На самом деле их много, но вот толковых, которые бы чистили кэши на всех уровнях, почему-то наблюдается очень мало. Большинство их них отвечают за какие-то определенные кэши, но не все.

У нас есть модуль AutoCacheCleaner. Установка у него стандартная. С его помощью можно полностью автоматизировать процесс очистки кэша OpenCart на всех уровнях (системный, VQMod, кэш изображений) используя админку.

Итог

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

Чтоб интернет-магазин четко функционировал, регулярно чистите все кэш уровни сайта.

 


Рекомендуем посмотреть:

Рекомендуем прочитать:
 
 
Метки: кэш


Ещё никто не оставил комментариев к записи.
 
Телефон, Viber, WhatsApp, Telegram: +7-952-3190-952 Skype: cdqpru Почта: help@liveopencart.ru ВКонтакте: liveopencart