Як в OpenCart очистити кеш? Огляд всіх типів кеша OpenCart

  1. Навіщо очищати кеш OpenCart?
  2. Типи кеша даних в OpenCart
  3. Кеш модифікацій OpenCart
  4. Кеш VQmod доповнень
  5. Кеш ocMod модифікацій
  6. Системний кеш OpenCart
  7. Кеш зображення в OpenCart
  8. Автоматичний скидання кешу OpenCart

Вітаю вас, колеги Вітаю вас, колеги!

Ми продовжуємо розглядати один з кращих безкоштовних движків для запуску Інтернет-магазину на сьогоднішній день - OpenCart.

На сторінках даного сайту ви можете знайти опис кожного етапу створення сайту на CMS для даного движка: його установку, а також як правильно вибирати і інсталювати модулі та шаблони.

Також, якщо ви підписані на оновлення проекту, то помітили, що недавно вийшла стаття, де було розглянуто перенесення і установка OpenCart на хостинг , Щоб ваш продукт був доступний широкому колу користувачів.

Тобто з усіма необхідними діями для створення Інтернет-магазину на базі даного движка ми вже познайомилися.

Тому даною статтею я відкриваю цикл публікацій, покликаних допомогти користувачам і початківцям розробникам у вирішенні проблем, що виникають при використанні і самостійної доопрацюванні OpenCart.

І сьогодні ми поговоримо про одну з них, а саме про те, як можна в OpenCart очистити кеш або оновити його.

Але перед тим, як перейти до дій, поговоримо про те, навіщо взагалі в OpenCart очищати кеш, про його різновидах і їх ключові особливості.

Хочу зазначити, що інструкції, наведені в цій статті, актуальні для всіх версій OpenCart: 1. *, 2. * і 3. *. Якщо рекомендації будуть справедливі тільки для якоїсь певної версії, в тексті про це буде сказано.

поїхали 🙂

Навіщо очищати кеш OpenCart?

Перед тим, як ми почнемо розмову, рекомендую всім освіжити в пам'яті інформацію щодо того, що таке кеш сайту .

Якщо коротко, то кеш - це набір найбільш використовуваних даних, які зберігаються спеціальним чином, завдяки чому вилучення інформації з кешу сайту відбувається набагато швидше, ніж її запит з безпосереднього сховища.

Таким чином, поки дані закешовану, швидкість їх вилучення і роботи сайту буде високою. Коли кеш порожній, движку доводиться виконувати подвійну роботу по вилученню даних по прямому шляху і їх кешуванню, що займає відчутно більше часу.

Навіщо ж тоді взагалі очищати кеш OpenCart, якщо це нам не вигідно?

Давайте уявимо таку ситуацію: ви розробляєте свій модуль OpenCart і, природно, вносите безліч правок в його код. Ось ви додали чергову кнопочку на форму його настройки, залили зміни на сайт, оновлюєте сторінок ... А там її немає.

Або ви, як адміністратор сайту, годинами вибирали OpenCart модуль, заплатили за нього велику суму, прочитали інструкцію з встановлення, пройшли 7 кіл пекла його інсталяції та активації, а змін на сайті немає. Пишіть розробнику, а той через тиждень нарешті читає ваш лист і каже, що з модулем все в порядку ... Знайоме? 🙂 Але ви програмісту не вірите і покриваєте його матом, хоча він справді був не винен.

Ну, і нарешті уявімо зовсім побутову ситуацію: ви завантажили на сайт картинку, потім вирішили її відредагувати і залили назад під тим же самим ім'ям. Кеш браузера очистили, але картинка все одно показується стара ...

Справа в тому, що у всіх випадках при повторному запиті дані витягувалися з кешу OpenCart, в якому зберігалися варіанти до внесення змін. І вихід в обох ситуаціях один - щоб побачити результати своїх правок або установки доповнення на моніторі, необхідно скинути кеш OpenCart. Тільки різних типів 🙂 Про що ми теж поговоримо далі.

Ще один важливим мотивом виробляти періодичний скид кеша OpenCart є збільшення вільного дискового простору на хостингу і прискорення роботи сайту в цілому за рахунок видалення закешовану даних модифікацій і доповнень, які були видалені або відключені.

Даний ефект я не тільки спостерігав самостійно при розробці сайтів на OpenCart, а також доповнень до нього, а й чув від людей, що користуються моїм модулем автоматичного очищення OpenCart кешу, який я презентую в кінці статті.

А тепер саме час поговорити про рівні кешування даних і про те, як же очистити кеш OpenCart.

Типи кеша даних в OpenCart

Почнемо з того, що розглянемо, на яких рівнях здійснюється кешування даних на OpenCart сайтах.

У статті про кеші сайту я вам вже розповідав, що кешування даних на всіх сайтах відбувається на серверному і клієнтському рівнях. Клієнтська частина для всіх ресурсів однакова - дані кешуються веб-клієнтами (Інтернет-браузерами) на комп'ютерах ваших користувачів. І це статичні дані - картинки, HTML, CSS і JS файли

Відповідно, очистити даний тип кешу можна прямо в браузері, видаливши відповідні файли.

З серверної частиною справи йдуть трохи складніше, тому що в кожної CMS і движку дані кешуються унікальним чином, завдяки чому потрібно розглядати кожен випадок окремо.

Серверний кеш OpenCart складається з декількох типів:

  • кеш модифікацій;
  • системний кеш;
  • кеш зображень.

І ось про особливості кожного з них ми з вами далі і поговоримо.

Кеш модифікацій OpenCart

Модифікації - це один з різновидів OpenCart доповнень , Особливістю яких є те, що вони використовують код движка OpenCart і навіть змінюють його, але виробляють ці дії віртуально, не змінюючи файли насправді.

Це, треба сказати, досить зручно, тому що дозволяє встановлювати і відключати модулі без копаній в коді движка і вже тим більше не переписуючи зміни інших розробників. Хоча не всім розробникам даний підхід до душі, через що VQmod / ocMod часто називають «милицею» 🙂

Робота OpenCart модифікацій стає можливою завдяки спеціальній технології VQmod для OpenCart 1.5 і OCmod для OpenCart 2 і 3. Більш детально про принципи роботи кожної і способах їх установки ви можете прочитати в даній статті .

У кожної з цих технологій є свій кеш, в якому якраз і зберігаються всі віртуальні зміни ядра движка. Тому про способи його очищення повинен знати будь-який розробник додатків і кожен власник OpenCart магазину, який ними користується.

Кеш VQmod доповнень

Кешувального VQmod дані зберігаються у вигляді окремих файлів у форматі «vq2 - *. Php» в директорії vqmod / vqcache, а також mods.cache і checked.cahce всередині «vqmod» каталогу (якщо VQmod, природно, у вас встановлений).

У OpenCart очистити кеш VQmod вам може знадобитися в разі, якщо ви встановили якийсь модуль або шаблон, але не спостерігаєте вироблених їм змін. Якщо ви зіткнулися з такою ситуацій, значить, файл кеша VQmod не оновиться і ваші правки не застосувались.

Вирішити цю проблему можна скиданням кешу, щоб VQmod створив нову копію системного файлу знову, вже з урахуванням усіх необхідних правок.

Як же в OpenCart очистити кеш VQmod?

Для цього заходимо в «корень_сайта / vqmod» і видаляємо для початку файли mods.cache і checked.cache. Якщо якогось з них не буде - не турбуйтеся, вам просто буде менше роботи 🙂 Потім заходимо в каталог «vqcache» і видаляємо всі файли.

Більш наочно чистка кеша OpenCart даного виду представлена ​​на наступному відео:

Для тих, хто боїться видаляти файли сайту на хостингу - не хвилюйтеся 🙂 Вони створяться знову, але вже з оновленою інформацією, тобто кеш модифікацій OpenCart оновиться.

Кеш ocMod модифікацій

ocMod - це «молодший брат» VQmod, який є вбудованим рішенням (його не потрібно встановлювати додатково) в OpenCart, починаючи з версії 2.0.0.0. Більш докладно про ocMod ви можете прочитати в статті, присвяченій VQmod, посилання на яку розміщена вище.

Одним з ключових відмінностей ocMod від VQmod є те, що після встановлення додатків інформація про вироблених їм модифікаціях зберігається в базі даних сайту , А не у вигляді файлів, як у випадку VQmod, страхуючи від випадкового їх видалення. Але при цьому кеш модифікацій, як і в разі VQmod, зберігається в файлах.

Дані файли розташовані в каталозі «system / modification» для OpenCart 2.0. * І «system / storage / modification» для OpenCart 2.1 + і 3. Вони розсортовані по каталогам, структура яких повторює файлову структуру OpenCart. Також вони мають такі ж імена, як і оригінальні файли движка.

Все це на руку розробникам, тому що пошук необхідного файлу кеша OpenCart модифікації в даному випадку максимально спрощений.

Причини очищення кешу ocMod і способи будуть аналогічні VQmod.

Для того, щоб в OpenCart скинути кеш ocMod, необхідно видалити всі каталоги і файли з директорії, що містить файли кешу OpenCart модифікацій, вручну, як і в разі VQmod.

Однак це не обов'язково, тому що в OpenCart 2 розробники зробили більш зручний спосіб очищення кешу модифікацій через адмінку магазину. Для цього потрібно перейти в пункт меню «Додатки (у вигляді шматочка пазла) - Модифікації».

Тут нас буде цікавити помаранчева кнопка з зображенням гумки, при натисканні на яку, кеш ocMod очиститься автоматично. Далі для перебудови кеша модифікацій необхідно натиснути на кнопку «Оновити», яка розташована поруч.

Нагадую, що якщо після очищення кешу VQmod і ocMod проблеми з модулями не усунути, то, швидше за все, вам не пощастило з продуктом, тому що він призводить до конфліктів в роботі з іншими доповненнями, що, на жаль, не рідкість для цих систем модифікацій.

За це їх і не люблять ні розробники, ні користувачі.

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

Даний тип кешу OpenCart містить результати запитів до БД і обробки даних движком. Це залежить від бажання розробників, які вказують в коді своїх доповнень, які дані потрібно заносити в кеш.

Приклади Кешована даних: інформація про мову, країні, географічній зоні, виробника, бестселери, останніх товари і т.д.

Закешовану дані зберігаються в директорії system / cache для OpenCart 1.5 і 2.0. * І system / storage / cache для OpenCart 2.1 + і 3. Усередині ви можете знайти файли з іменами у форматі cache.object (.id) .time () + 3600 для OpenCart 1.5 і 2.

У цьому рядку:

  • object - тип об'єкта, який кешується - задається в коді довільно, головне, щоб не дублювала існуючу назву;
  • id - ідентифікатор об'єкта - не є обов'язковим параметром, використовується у випадках, коли файли кешу створюються для різних об'єктів одного типу;
  • time () - результат виконання системної функції time () - місцевий час + 3600 с. (1 година - час існування кешу, його також можна змінити)

Якраз останній параметр назви буде вказувати системі, чи є дані застарілими. При черговому запиті даних OpenCart перевірятиме кеш і якщо з'ясується, що поточний час більше, ніж останній параметр, то кеш буде перезаписан.

Тому з очищенням даного типу кеша справи трохи більш радісні, ніж з VQmod і ocMod. Але все-таки, іноді дані потрібно видалити негайно, не чекаючи закінчення строків зберігання.

Для OpenCart 3 дані системного кеша зберігаються всередині файлів, у яких в якості імені використовується унікальних хеш. А згруповані вони по директоріях, кожна з яких в назві має дві перші літери імені файлів, які в ній містяться.

Для того, щоб оновити кеш OpenCart в даному випадку, необхідно видалити всі файли з кореневого каталогу системного кеша.

Якщо ви відчули якісь труднощі при очищенні кеша OpenCart даного типу або у вас виникли якісь питання з цього приводу, то рекомендую вам до перегляду наступне відео:

При повторному виконанні запитів до БД і операцій з даними, файли пересоздадут і кеш оновиться.

Кеш зображення в OpenCart

Про даному типі кеша OpenCart я вирішив поговорити в останню чергу, тому що він досить специфічний.

У OpenCart кеш зображень являє собою нарізані мініатюри картинок, які ви завантажуєте на сайт.

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

Це досягається за рахунок того, що мініатюри мають менший розмір порівняно з оригінальними файлами.

Але все ж бувають ситуації, коли цей механізм заважає. Приклад даної ситуації був описаний на початку статті, коли ми говорили про те, навіщо в OpenCart очищати кеш.

Тажке скидання кешу зображень OpenCart може привести до значної економії дискового простору на хостингу, тому що файли зображень часто можуть мати значний розмір. А якщо ще врахувати, що для кожної великовагової картинки може бути кілька мініатюр різного розміру, то економія часто може досягати сотень мегабайтів.

Для того, щоб очистити кеш зображень в OpenCart, вам буде потрібно видалити всі каталоги і файли з папки image / cache, яка присутня у всіх версіях OpenCart. Або ж позбутися від необхідних мініатюр (наприклад, при видаленні товару).

Головне, як і при оновленні кеша OpenCart попередніх видів, не боятися 🙂 Файли кешу зображень пересоздадут при наступному їх запиті користувачами через сайт.

Типи кеша OpenCart ми розглянули.

Як ви встигли зрозуміти, в кожному розглянутому випадку почистити кеш OpenCart можна вручну. Але кому ж з нас не хочеться автоматизувати цей процес? Тим більше, що це можливо 🙂

Давайте розглянемо, як же це можна зробити.

Автоматичний скидання кешу OpenCart

На даний момент існує кілька десятків модулів, що дозволяють очищати кеш OpenCart через адмінку сайту, щоб не потрібно було кожен раз для даної дії вручну видаляти файли кешу всіх рівнів.

Однак у всіх них є свої недоліки. Одні мають занадто заплутаний інтерфейс, тому що розробники надають користувачам очищати різні види кешу, не враховуючи, що користувачі можуть просто не розуміти для чого кожен з них призначений, і що вони отримають в результаті.

Інші мають простий і зрозумілий інтерфейс у вигляді кнопки очищення кешу, але при цьому насправді проводять видалення не всіх закешовану даних.

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

З метою усунення недоліків існуючих доповнень, а також для додавання можливості проводити очищення кешу OpenCart автоматично я і розробив модуль під назвою ACCLeaner, яке розшифровується як Auto Cache Cleaner.

Модуль розроблений в трьох варіантах для кожної версії OpenCart окремо. Завантажити необхідну для вашого інтернет-магазину ви можете тут:

ACCLeaner для очищення кеша OpenCart 1.5 і ocStore 1.5
ACCLeaner для очищення кеша OpenCart 2 і ocStore 2
ACCLeaner для очищення кеша OpenCart 3 і ocStore 3

Як вже зазначалося вище, головною особливістю даного модуля є те, що він дозволяє очистити кеш OpenCart 1.5, 2 і 3 автоматично при відключенні або видаленні модифікацій і доповнень, щоб видалити їх закешовану дані. Ця дія, як уже було сказано, дозволить звільнити дисковий простір на хостингу (особливо це актуально для shared хостингу, де від розмір диска обмежується тарифним планом) і зменшити час відповіді від сервера.

Останній параметр крім збільшення продуктивності сайту дозволить вам також поліпшити свої позиції в пошуковій видачі, тому що Google в своєму інструменті Page Speed ​​Insights враховує даний показник як один з основних, від чого буде прямо залежати його лояльність до вашого ресурсу.

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

Також на прохання клієнтів, які купили модуль, я додатково додав в модуль всім звичну кнопку Clear cache для очищення кеша OpenCart через панель адміністрування.

Модуль очищає системний кеш і кеш картинок для всіх версій OpenCart і кеш VQmod модифікацій для OpenCart 1.5. Для OpenCart 2 і 3 я вирішив не реалізовувати очищення кешу модифікацій, тому що даний інструмент вже є в адмінці.

Якщо у вас є якісь зауваження чи побажання з приводу напрямків поліпшення продукту, ви можете залишити їх в коментарях під статтею або у відповідній темі підтримки модуля на форумі, посилання на яку є на сторінці доповнення.

Ось і все, що я хотів вам сьогодні розповісти, друзі 🙂 Ми з вами розглянули різновиди кеша OpenCart і познайомилися з їх призначенням і ключовими особливостями.

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

Залишайте свої думки в коментарях, ставте оцінки і розповідайте про неї своїм друзям в соціальних мережах. Мені це буде дуже приємно 🙂

На цьому все! Всім удачі і до нових зустрічей! 🙂

PS: якщо вам потрібен сайт або необхідно внести правки на існуючий, але для цього немає часу і бажання, можу запропонувати свої послуги.

Більше 5 років досвіду професійної розробки сайтів. Робота з PHP, OpenCart, WordPress, Laravel, Yii, MySQL, PostgreSQL, JavaScript, React, Angular і іншими технологіями web-розробки.

Досвід розробки проектів різного рівня: Лендінзі, корпоративні сайти, Інтернет-магазини, CRM, портали. У тому числі підтримка і розробка HighLoad проектів. Надсилайте ваші заявки на email [email protected] .

І з друзями не забудьте поділитися 😉

Навіщо очищати кеш OpenCart?
Навіщо ж тоді взагалі очищати кеш OpenCart, якщо це нам не вигідно?
Знайоме?
Як же в OpenCart очистити кеш VQmod?
Але кому ж з нас не хочеться автоматизувати цей процес?