Redis для OpenCart 3.x — від установки до 200 мс TTFB
Зміст
Стаття
Повільний OpenCart — одна з найчастіших скарг власників магазинів. Один з найефективніших способів прискорити — Redis. Розберемо покроково.
Чому Redis, а не файловий кеш
Стандартний OpenCart використовує файловий кеш у storage/cache/. Redis зберігає дані в RAM, що в 10–100× швидше читання з диску. Особливо відчутно для магазинів з 1000+ товарів.
Крок 1: Встановлення Redis
apt install redis-server php8.3-redis systemctl enable --now redis-server
Перевірте що Redis слухає на localhost:
redis-cli ping # PONG
Крок 2: Налаштування redis.conf
maxmemory 256mb maxmemory-policy allkeys-lru bind 127.0.0.1 requirepass your_strong_password
Крок 3: Підключення до OpenCart
У config.php змінюємо storage driver:
define('CACHE_DRIVER', 'redis');
define('CACHE_HOSTNAME', '127.0.0.1');
define('CACHE_PORT', 6379);
define('CACHE_PASSWORD', 'your_strong_password');
Крок 4: Перенесення сесій до Redis
В php.ini або pool конфігурації PHP-FPM:
session.save_handler = redis session.save_path = "tcp://127.0.0.1:6379?auth=your_strong_password"
Моніторинг hit-rate
redis-cli info stats | grep keyspace_hits redis-cli info stats | grep keyspace_misses
Ціль: hit-rate > 90%. Якщо нижче — збільшіть maxmemory.
Результат
Після правильного налаштування Redis TTFB знижується з 800–1500 мс до 50–150 мс. Навантаження на MariaDB падає на 40–70%.
Хочете щоб я налаштував Redis для вашого OpenCart? Замовте послугу.