Нужна доработка CS-Cart или полное сопровождение проекта?

Вникну в контекст вашего проекта и возьму на себя всю техническую рутину.

Связаться со мной
← Все статьи

Redis в CS-Cart: как включить быстрый кэш

Практическая настройка штатного Redis-кэша в CS-Cart: от установки до проверки и отката.

Когда магазин начинает расти, файловый кэш может стать лишней нагрузкой на диск. Redis хранит данные в памяти сервера и подходит для штатного кэша CS-Cart.

Он не решает все проблемы со скоростью. Медленная тема, тяжёлые изображения, неудачные доработки и долгие внешние запросы никуда не денутся. Но Redis снижает нагрузку на диск и базу данных там, где CS-Cart уже умеет использовать кэш. CS-Cart поддерживает Redis как backend кэша.

Когда стоит подключать Redis

Обычно Redis нужен, если:

  • магазин работает на VPS или выделенном сервере;

  • каталог большой, а модулей много;

  • витрина или админка временами отвечают медленно;

  • на одном проекте работает несколько веб-серверов.

На небольшом магазине разница может быть почти незаметна. В этом случае лучше сначала проверить реальную скорость страниц и загрузку сервера.

Что понадобится

Перед началом нужны доступ к серверу по SSH, доступ к config.local.php в корне магазина и резервная копия этого файла.

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

Установка Redis

На Ubuntu или Debian:

sudo apt update
sudo apt install redis-server
sudo systemctl enable --now redis-server

Проверьте, что сервис запущен:

redis-cli ping

Если всё в порядке, команда вернёт:

PONG

Если PONG нет, сначала разберитесь с Redis. Не стоит менять настройки магазина, пока сервис не отвечает.

Важно и другое: PHP, под которым работает CS-Cart, должен иметь поддержку Redis. Установленный на сервер Redis сам по себе ещё не означает, что магазин сможет к нему подключиться.

Настройка CS-Cart

Откройте config.local.php и добавьте:

$config['cache_backend'] = 'redis';
$config['cache_redis_server'] = '127.0.0.1';
$config['cache_redis_global_ttl'] = 0;

127.0.0.1 означает, что CS-Cart подключается к Redis на этом же сервере. Для первого запуска это самый простой вариант.

Значение 0 у cache_redis_global_ttl не задаёт общий срок жизни для всех записей. Если памяти на сервере мало, настройку TTL лучше обсудить с администратором: слишком короткий срок уменьшит пользу от кэша, слишком длинный может занять всю память. Описание настроек есть в документации CS-Cart.

Очистите кэш

После сохранения настроек очистите кэш через панель администратора CS-Cart.

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

Проверьте магазин

После переключения откройте:

  • главную страницу;

  • несколько категорий;

  • карточку товара;

  • поиск;

  • корзину;

  • админ-панель.

Если магазин и админка работают без ошибок, подключение прошло нормально.

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

Как проверить, что Redis используется

На сервере можно посмотреть статистику:

redis-cli info stats

Два полезных показателя:

  • keyspace_hits — данные нашлись в кэше;

  • keyspace_misses — нужных данных в кэше не оказалось.

Ещё можно проверить, появились ли записи:

redis-cli dbsize

Сразу после включения их может быть немного: Redis заполняется по мере работы магазина.

Что Redis не исправит

Redis не заменяет аудит производительности. Он не поможет, если проблема в:

  • тяжёлых изображениях;

  • медленной теме;

  • неоптимизированном модуле;

  • долгих запросах к внешним сервисам;

  • перегруженной базе данных;

  • слабом сервере.

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

Если после включения появилась ошибка

Верните файловый кэш в config.local.php:

$config['cache_backend'] = 'file';

После этого очистите кэш через админ-панель.

Чаще всего проблемы возникают по одной из причин:

  • Redis не запущен;

  • PHP не поддерживает Redis;

  • указан неверный адрес;

  • веб-сервер не может подключиться к Redis;

  • в конфигурации допущена опечатка.

Redis — хороший базовый шаг для магазина на CS-Cart, если проект уже упирается в нагрузку. Подключите его, проверьте витрину и измерьте скорость реальных страниц. Если ускорения нет, искать нужно не «ещё один кэш», а конкретное узкое место.

НАЧНЁМ РАБОТУ

Запустите рост вашего проекта с Larionov.tech

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

  • Фиксированная цена до старта
  • Договор на каждый проект
  • Гарантия на результат
Желательный способ связи