недавно увидел что на официальном сайте продается драйвер под редис. ссылку прикладывать не буду
а вот тот самый редис, который уже давно есть на гитхабе (с 6 июля 2017 года)
https://github.com/opencart/opencart/blob/master/upload/system/library/cache/redis.php
как кеш опенкарта делегировать редису?
чтобы заставить работать редис на своем сервере необходимо
1. установить редис и добавить его в список автозагрузки, установить php модуль для редиса . для разных осей комманды могут отличаться. гугл в помощь!
2. актуально для всей ветки 2х ocstore/opencart. в 3х версии окстор и опенкарт драйвер уже есть
создаем файл system/library/cache/redis.php содержимое вот https://github.com/opencart/opencart/blob/master/upload/system/library/cache/redis.php
3. создаем файл redis_test.php в корневой директории сайта, вызывать его будем следующим образом https://site.com/redis_test.php
это мы делаем, для того, чтобы протестировать редис перед включением, чтобы избежать краша магазина
<?php
ini_set('display_errors', '1');
ini_set('display_startup_errors', '1');
error_reporting(E_ALL);
include __DIR__.'/system/library/cache/redis.php';
$expire = 5000;
//namespace opencart 4 O_O
$obj_redis = new Opencart\System\Library\Cache\Redis($expire);
//namespace opencart 3x
//$obj_redis = new Cache\Redis($expire);
$obj_redis->set('key', 'REDIS WORK FINE');
$res = $obj_redis->get('key');
echo $res;
сохраняем файл. открываем браузер и вызываем https://site.com/redis_test.php
если видим REDIS WORK FINE то сразу к следующему пункту
ошибки, которые могут говорить о
криво установленном редисе => пункт 1
отсутствии файла => пункт 2
не забывайте. что редис должен быть включен и установлен пхп модуль редис
4. этот пункт выполняем только в случае, если в п3 видим REDIS WORK FINE
в конфиге по пути ocs23/system/config/default.php
находим строку
$_['cache_type'] = 'file'; // apc, file or mem
и меняем на
$_['cache_type'] = 'redis'; // apc, file or mem