Настраиваем Memcached и Redis на OpenCart 3

baltun

Администратор
Сообщения
10.731
Реакции
2.542
Баллы
2.003
Проверяем наличия библиотеки Memcached для PHP:
Код:
php -i |grep memcache
Вывод выполненной команды:
Код:
memcache
memcache support => enabled
memcache.allow_failover => 1 => 1
memcache.chunk_size => 32768 => 32768
memcache.compress_threshold => 20000 => 20000
memcache.default_port => 11211 => 11211
memcache.hash_function => crc32 => crc32
memcache.hash_strategy => consistent => consistent
memcache.lock_timeout => 15 => 15
memcache.max_failover_attempts => 20 => 20
memcache.protocol => ascii => ascii
memcache.redundancy => 1 => 1
memcache.session_redundancy => 2 => 2
Registered save handlers => files user memcache
Далее меняем в config.php и admin/config.php
Код:
// Cache
define('CACHE_HOSTNAME', 'localhost');
define('CACHE_PORT', '11211');
define('CACHE_PREFIX', 'oc_');
system/config/default.php
Код:
// Cache
$_['cache_type']           = 'mem'; // apc, file or mem
$_['cache_expire']         = 3600;
Далее в папке system/storage/cache/ удаляем все файлы кроме index.html переходим на сайт и делаем переходы по страницам обновляем папку system/storage/cache/ если файлы в кэше не появляются все ОК
Очистить memcached кеш в Unix/Linux:
Код:
$ telnet localhost 11211
flush_all
quit

Проверяем работу Redis:
Код:
redis-cli ping
PONG /*возврат ответа*/
Для установки кеширования Redis у вас должен стоять и работать сервер Redis и подключен модуль redis для PHP, далее изменяем файлы так:
Далее меняем в config.php и admin/config.php
Код:
// Cache
define('CACHE_HOSTNAME', 'localhost');
define('CACHE_PORT', '6379');
define('CACHE_PREFIX', 'redis_');
system/config/default.php
Код:
// Cache
$_['cache_type']           = 'redis'; // apc, file or mem
$_['cache_expire']         = 3600;
В файле system/library/cache/redis.php:
Найдите такую строку:
Код:
$this->cache->setTimeout(CACHE_PREFIX . $key, $this->expire);
И замените в ней setTimeout на expire, чтобы она приняла такой вид:
Код:
$this->cache->expire(CACHE_PREFIX . $key, $this->expire);
Найдите такую строку:
Код:
$this->cache->delete(CACHE_PREFIX . $key);
И замените в ней delete на del, чтобы она приняла такой вид:
Код:
$this->cache->del(CACHE_PREFIX . $key);
Далее в папке system/storage/cache/ удаляем все файлы кроме index.html переходим на сайт и делаем переходы по страницам обновляем папку system/storage/cache/ если файлы в кэше не появляются все ОК
 
Последнее редактирование:
Назад
Верх Низ