Як увімкнути стиснення Redis в опенкарт?

13.12.2022 | Андрій
Як увімкнути стиснення Redis в опенкарт?

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

Як увімкнути стиснення данних в редіс?

Для початку відкрийте файл /system/library/cache/redis.php, якщо ви використовуєте модуль redisp , тоді відповідно файл redisp.php

Після перевірки наявності пароля в конструкторі додайте наступну умову (строка ~27):



    if(\defined('Redis::OPT_COMPRESSION') && \defined('Redis::COMPRESSION_LZ4')){
		$this->cache->setOption(\Redis::OPT_SERIALIZER, \Redis::SERIALIZER_NONE);;
		$this->cache->setOption(\Redis::OPT_COMPRESSION, \Redis::COMPRESSION_LZ4);
		$this->cache->setOption(\Redis::OPT_COMPRESSION_LEVEL, 6);
	}


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

Що таке redis та як його встановити в опенкарт?

Redis (від англ. remote dictionary server) - Резидентна система управління базами даних класу NoSQL з відкритим вихідним кодом, що працює зі структурами даних типу «ключ - значення». Використовується як баз даних, так реалізації кешів, брокерів повідомлень.

Для початку перевірте чи встановлений редіс на вашому сервері. Для цього створіть будь-який файл з вмістом:



   <?php 
       echo phpinfo();
   ?>


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

Як увімкнути стиснення Redis в опенкарт?
  • У вас шаред хостинг - замовте послугу редіс
  • У вас свій сервер - встановіть та налаштуйте редіс

Налаштування редіс в опенкарт 3

Відкрийте файл config.php в корні та /admin та додайте наступні константи:



// Redis
define('CACHE_HOSTNAME', '/run/redis/redis.sock'); // хост або сокет
define('CACHE_PORT', '0'); 
define('CACHE_PREFIX', 'redis_');
define('CACHE_PASSWORD', 'pwd'); // пароль


Потім system/config/default.php та знайдіть параметр cache_engine його потрібно замінити на redis, якщо використовуєте модуль - redisp.



$_['cache_engine']         = 'redisp'; // apc, file, mem or memcached


Бажаєте дізнатись скількі коштує Ваш проєкт?

Заповніть заявку

Категорії

Те, що читають:

Name post

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco

Name post

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco