Документація

Кеш і швидкість магазину

Де магазин зберігає кеш і як це обрати: файли, база, Redis чи Memcached. І що натиснути, коли вітрина показує старе.

На цій сторінці

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

Магазин користується кешем сам, налаштовувати його не обов’язково. Але одне рішення варто ухвалити свідомо: де цей кеш лежить.

Де обирається

«Система» → «Обслуговування», картка «Де магазин зберігає кеш».

Там видно, що обрано зараз і що доступне на вашому сервері. Недоступне не просто згашене — поруч написано, чому: «на сервері немає підтримки Redis, її встановлює хостинг».

Вибір записується в налаштування сервера (файл .env), а не в базу даних. Інакше вийшло б коло: щоб прочитати з бази, який кеш обрано, магазину потрібен кеш, який цим налаштуванням і обирається.

Що обрати

Сховище Коли підходить
Файли Усталений вибір для нових магазинів. Працює на будь-якому хостингу і нічого не потребує. Підходить більшості.
База даних Коли файли чомусь недоступні. Працює скрізь, але кожне звернення до кешу — це запит до бази: на сторінці їх набігає кілька десятків.
Redis Найшвидший варіант і єдиний, що витримає магазин на кількох серверах. Потрібен встановлений Redis і розширення PHP — це встановлює хостинг.
Memcached Швидкий окремий сервер кешу. Розумний вибір, якщо він уже стоїть у вашого хостера.

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

Як перемкнути

  1. Оберіть сховище.
  2. Заповніть поля з’єднання, якщо вони з’явилися (у Redis — сервер, порт, пароль, номер бази).
  3. Натисніть «Перевірити з’єднання».
  4. Натисніть «Перемкнути».

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

Пароль після збереження назовні не віддається. Порожнє поле пароля означає «залишити збережений» — так ви можете виправити лише порт, не набираючи пароль заново.

Що робити, якщо магазин показує старе

Кеш іноді треба скинути вручну — наприклад, ви виправили файл теми просто на сервері або завантажили дані повз панель. У тому самому «Системі → Обслуговуванні» є кнопки:

Кнопка Коли натискати
Скинути сторінки вітрини Вітрина показує стару верстку або старі ціни
Перезібрати шаблони теми Правка теми не видна на вітрині
Скинути дані кешу Списки та довідники віддають застаріле
Скинути весь кеш Коли не допомогло нічого з переліченого

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

Сторінки вітрини

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

Сторінка збирається один раз, а далі віддається готовою. Різниця на живому магазині: зібрати категорію заново — близько трьохсот мілісекунд, віддати готову — близько п’ятдесяти.

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

Що варто знати про сервер

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

Redis і Memcached — це окремі програми на сервері, магазин їх не встановлює. Якщо хостинг їх не пропонує, вибір просто не буде доступним, і магазин чесно про це напише.

Кешу Redis варто задати межу пам’яті та витіснення старого — інакше він зростатиме, доки не займе всю пам’ять сервера. Це робиться один раз у налаштуваннях самого Redis і зазвичай входить у роботу хостингу.

Оновлено 19 серпня 2026