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

Кеш и скорость магазина

Где магазин хранит кеш и как это выбрать: файлы, база, Redis или Memcached. И что нажать, когда витрина показывает старое.

На этой странице

Кеш — это память магазина о том, что он уже посчитал. Собранная страница категории, список языков, настройки, разобранные характеристики: посчитать это заново стоит времени, а достать из кеша — почти нет.

Магазин пользуется кешем сам, настраивать его не обязательно. Но одно решение стоит принять осознанно: где этот кеш лежит.

Где выбирается

«Система» → «Обслуживание», карточка «Где магазин хранит кеш».

Там видно, что выбрано сейчас, и что доступно на вашем сервере. Недоступное не просто погашено — рядом написано, почему: «на сервере нет поддержки Redis, её ставит хостинг».

Выбор записывается в настройки сервера (файл .env), а не в базу данных. Иначе получился бы круг: чтобы прочитать из базы, какой кеш выбран, магазину нужен кеш, который этой настройкой и выбирается.

Что выбрать

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

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

Как переключить

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

Магазин проверяет соединение до сохранения и не даёт переключиться на хранилище, которое не отвечает. Это не придирка: магазин, переведённый на неработающий кеш, перестаёт открываться целиком — вместе с панелью, из которой это можно было бы починить.

Пароль после сохранения наружу не отдаётся. Пустое поле пароля означает «оставить сохранённый» — так вы можете поправить только порт, не набирая пароль заново.

Что делать, если магазин показывает старое

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

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

В обычной работе эти кнопки не нужны: магазин сбрасывает нужное сам, когда вы правите товары, категории, страницы, скидки и настройки.

Страницы витрины

Отдельно от кеша данных магазин хранит готовые страницы витрины — это то, что сильнее всего влияет на скорость для покупателя.

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

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

Что стоит знать про сервер

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

Redis и Memcached — это отдельные программы на сервере, магазин их не устанавливает. Если хостинг их не предлагает, выбор просто не будет доступен, и магазин честно об этом напишет.

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

Обновлено 19 августа 2026