Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Подключение Redis к ocStore 2.3.0.2.2


Recommended Posts

  • Alexandr769 changed the title to Подключение Redis к ocStore 2.3.0.2.2

Для сессий я подключил его. На хостинге бегет это делается в 2 клика.

Интересует техническая часть как подключить для кэширования сайта?

Надіслати
Поділитися на інших сайтах


В 5/22/2017 в 15:18, nikifalex сказал:

чем он лучше того же memcache

Шутка?.. я надеюсь

 

11 часов назад, Alexandr769 сказал:

как подключить для кэширования сайта?

А в чем проблема?

composer require predis/predis

.. и вперед

Надіслати
Поділитися на інших сайтах

В 22.05.2017 в 15:18, nikifalex сказал:

например можно для сессий

https://www.digitalocean.com/community/tutorials/how-to-set-up-a-redis-server-as-a-session-handler-for-php-on-ubuntu-14-04

но это к опенкарту не относится.

можно как кэш, но чем он лучше того же memcache

 

В рамках задач Opencart  в 99% ровно одинаково.

 

В 23.05.2017 в 20:11, pantagruel964 сказал:

Шутка?.. я надеюсь

 

А в чем проблема?


composer require predis/predis

.. и вперед


Зачем вы так, вы человека выбили из колеи на полгода.

 

Это ж еще и драйвер надо написать.

 

Надіслати
Поділитися на інших сайтах


6 часов назад, Yoda сказал:

Зачем вы так, вы человека выбили из колеи на полгода.

Как раз будет время подумать, зачем ему вообще Редис)) Какие такие задачи человек собрался решать? Списки? - Ну, может быть. Но это скорее сахар, только ради этого - он не нужен. Кластеры? - Трудно представить. Очереди? - Я бы посмотрел на того, кто попытается реализовать очереди в опенкарте :-D

Если это просто кеш, тогда предпочтительнее memcached, тем более на гетах он чутка быстрее.

 

7 часов назад, Yoda сказал:

Это ж еще и драйвер надо написать.

Я бы даже драйвер не писал. Он там нужен только ради трушного $this->cache->set(). Наоборот, выпилил бы cache из registry. predis - это уже готовая обертка, можно сразу с места:

$redis = new Predis\Client;

$redis->set('name', 'Vasya');
$redis->get('name'); // 'Vasya'

$redis->rpush('names', 'Vasya');
$redis->rpush('names', 'Petya');
$redis->rpush('names', 'Kolya');
$redis->lrange('names', 0, -1); // ['Vasya', 'Petya', 'Kolya']

 

Надіслати
Поділитися на інших сайтах

14 часов назад, pantagruel964 сказал:

Как раз будет время подумать, зачем ему вообще Редис)) Какие такие задачи человек собрался решать? Списки? - Ну, может быть. Но это скорее сахар, только ради этого - он не нужен. Кластеры? - Трудно представить. Очереди? - Я бы посмотрел на того, кто попытается реализовать очереди в опенкарте :-D

Если это просто кеш, тогда предпочтительнее memcached, тем более на гетах он чутка быстрее.

 

Я бы даже драйвер не писал. Он там нужен только ради трушного $this->cache->set(). Наоборот, выпилил бы cache из registry. predis - это уже готовая обертка, можно сразу с места:


$redis = new Predis\Client;

$redis->set('name', 'Vasya');
$redis->get('name'); // 'Vasya'

$redis->rpush('names', 'Vasya');
$redis->rpush('names', 'Petya');
$redis->rpush('names', 'Kolya');
$redis->lrange('names', 0, -1); // ['Vasya', 'Petya', 'Kolya']

 

 

Ради непонятно чего - сделать непонятно что, и непонятно зачем.

Чтобы на выходе получить + 5 мс.
Вместо того, чтобы запилить memcache, если сильно чешется и угомониться.

 

И НЕ ЗАМЕТИТЬ РАЗНИЦЫ!

 

off top:

Мы когда собирали площадку для Opencartforum, экспериментировали с разными типами хранилищ системного кеша IpBoard, так вот таки memcache показал самую большую производительность.

Надіслати
Поділитися на інших сайтах


Yoda, я же об этом и написал, если все заканчивается на гетах и сетах, разницы между редисом и мемкешд на этом этапе никакой. Кому действительно нужны возможности редиса - не спрашивают, как его подключить.

 

nikifalex, што?

Надіслати
Поділитися на інших сайтах

  • 1 month later...

Yoda, а можно для тупых ламо подробнее плз

у меня тоже на бегете седня он выдал инфу внимание блок сессий.. потом про редис и сравнение между редисом и мемкешд начал рыть включая их сайт https://beget.com/ru/articles/redis#wp

 

потом форумы и только еще больше запутался что это для чего почему и зачем)... короче надо это или нет и если нет то мемкеш как поставить или он настроен уже стандартно? 

заранее спасибо

Надіслати
Поділитися на інших сайтах


Народ помогите пожалста с мемкеш и редис

последний окстор стоит выдает постоянно блок сессий на бегете. там нифига пояснить не могут

буду очень благодарен за равернутый ответ для ламо что как и куда... что бы блок сессий не был. с бегета не уйду)

 

Надіслати
Поділитися на інших сайтах


2 часа назад, lsb86 сказал:

Народ помогите пожалста с мемкеш и редис

последний окстор стоит выдает постоянно блок сессий на бегете. там нифига пояснить не могут

буду очень благодарен за равернутый ответ для ламо что как и куда... что бы блок сессий не был. с бегета не уйду)

 

 

Что такое блок сессий? Выдает какую-то ошибку? Текст ошибки есть?

Надіслати
Поділитися на інших сайтах

7 часов назад, druzhkov сказал:

 

Что такое блок сессий? Выдает какую-то ошибку? Текст ошибки есть?

Обнаружена блокировка сессий в PHP

В течение последних десяти суток ваши сайты не отвечали 14 секунд из-за блокировки сессий в PHP.

Используйте хранение сессий в Redis - это позволит избежать подвисания сайтов по этой причине.
Надіслати
Поділитися на інших сайтах


8 минут назад, lsb86 сказал:

Обнаружена блокировка сессий в PHP

В течение последних десяти суток ваши сайты не отвечали 14 секунд из-за блокировки сессий в PHP.

Используйте хранение сессий в Redis - это позволит избежать подвисания сайтов по этой причине.

Это вас beget разводит на доп услугу - не ведитесь.

  • +1 1
Надіслати
Поділитися на інших сайтах

12 часов назад, snastik сказал:

Это вас beget разводит на доп услугу - не ведитесь.

я так и понял но хотелось бы понять что это вобще такое насколько эффективно и вобще что за блок сессий к чему это приводит...?

так то 1 р в день это фигня! если как то ускорит работу сайта или еще какую ползу принесет хоть и не большую то я бы развелся))) на рубль то))

Надіслати
Поділитися на інших сайтах


"Из коробки" любые данные магазина храняться или в файлах или в базе данных.

Сессии - это уникальный идентификатор посетителя, по которому система узнает его при открытии новых страниц или при последующих посещениях.

 

Соответственно сессия - это небольшой набор данных, который необходимо где то сохранить.
По умолчанию на хостингах сессии храняться в виде пачки небольших файлов в специально отведенной папке.

 

Если трафик небольшой и правильно настроен сборщик мусора, который удаляет протухшие файлы сессий - не возникает никаких проблем.

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

 

Почему это происходит?
Это обусловлено особенностями работы linux  с файловой системой.
Если в папке много файлов, работа с ними замедляется, так как увеличивается время на поиск необходимого файла.

Соответсвенно БЕГЕТу не выгодны проекты, которые активно используют сессии и хранят их в файловой системе, так как увеличивается в целом нагрузка на сервер и замедляется работа всех сайтов, которые он обслуживает.

 

Для того чтобы исправить эту ситуацию, необходимо их вынести в какое-либо хранилище, которое не будет затрагивать работу файловой системы.
Это может быть как база данных так и любое хранилище, которое использует память вместо файловой системы.
В конкретном случае они предоставляют Redis. В других случаях это можеть быть memcache или APC, либо как я уже выше писал база данных.
 

Кстати в Opencart 3.0 сессии по умолчанию храняться в базе.

 

Попробуйте в htaccess добавить следующие инструкции, только адрес подключения к хранилищу, поменяйте на тот, который предоставит beget.

 

php_value session.save_handler redis
php_value session.save_path "tcp://localhost:6379/"

 

  • +1 3
Надіслати
Поділитися на інших сайтах

5 часов назад, snastik сказал:

"Из коробки" любые данные магазина храняться или в файлах или в базе данных.

Сессии - это уникальный идентификатор посетителя, по которому система узнает его при открытии новых страниц или при последующих посещениях.

 

Соответственно сессия - это небольшой набор данных, который необходимо где то сохранить.
По умолчанию на хостингах сессии храняться в виде пачки небольших файлов в специально отведенной папке.

 

Если трафик небольшой и правильно настроен сборщик мусора, который удаляет протухшие файлы сессий - не возникает никаких проблем.

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

 

Почему это происходит?
Это обусловлено особенностями работы linux  с файловой системой.
Если в папке много файлов, работа с ними замедляется, так как увеличивается время на поиск необходимого файла.

Соответсвенно БЕГЕТу не выгодны проекты, которые активно используют сессии и хранят их в файловой системе, так как увеличивается в целом нагрузка на сервер и замедляется работа всех сайтов, которые он обслуживает.

 

Для того чтобы исправить эту ситуацию, необходимо их вынести в какое-либо хранилище, которое не будет затрагивать работу файловой системы.
Это может быть как база данных так и любое хранилище, которое использует память вместо файловой системы.
В конкретном случае они предоставляют Redis. В других случаях это можеть быть memcache или APC, либо как я уже выше писал база данных.
 

Кстати в Opencart 3.0 сессии по умолчанию храняться в базе.

 

Попробуйте в htaccess добавить следующие инструкции, только адрес подключения к хранилищу, поменяйте на тот, который предоставит beget.

 


php_value session.save_handler redis
php_value session.save_path "tcp://localhost:6379/"

 

пасиба насяльника!

оочень развернуто большое спс!

пожее попробую разобраться с этим а пока что если забью на это дело ничего страшного не произойдет с сайтом ну и вообще?

Надіслати
Поділитися на інших сайтах


28 минут назад, lsb86 сказал:

пасиба насяльника!

оочень развернуто большое спс!

пожее попробую разобраться с этим а пока что если забью на это дело ничего страшного не произойдет с сайтом ну и вообще?

 

Страшного ничего, но подобные заявки от хостера - это первый звоночек, что с ним пора расставаться.

Надіслати
Поділитися на інших сайтах

21 час назад, snastik сказал:

 

Страшного ничего, но подобные заявки от хостера - это первый звоночек, что с ним пора расставаться.

хех тогда кого же выбрать то? 

долго изучал их анализировал выбирал...

Надіслати
Поділитися на інших сайтах


  • 3 years later...
В 18.07.2017 в 20:49, snastik сказал:

Это вас beget разводит на доп услугу - не ведитесь.

В 19.07.2017 в 10:16, snastik сказал:

Попробуйте в htaccess добавить следующие инструкции, только адрес подключения к хранилищу, поменяйте на тот, который предоставит beget.

 


php_value session.save_handler redis
php_value session.save_path "tcp://localhost:6379/"

Подскажите, это решение для обхода платной услуги на Бегете или дополнительно прописывается при ее включении?

 

 

 

Надіслати
Поділитися на інших сайтах


В 15.07.2017 в 09:31, lsb86 сказал:

В ОС поддержка кэширования в памяти слабо развита именно потому что движок не рассчитывали на большие объемы и нагрузку. С Memcache бывают проблемы если хостпровайдер не следит за настройками. Бывали случаи когда разные версии библиотек PHP для работы с memcached сервером работают со сбоями и как следствие потери сессий и сбои в работе сайта. Различия memcached сервера и Redis в том, что редиска имеет подкачку на диск и данные, поддерживает разные типы данных и у него меньше ограничений на размеры ключей и объем единицы хранения, в нем даже есть репликация master-slave как в MySQL для построения кластеров. В общем Redis нужен для больших сложных и высоконагруженных систем, которые поддерживают многоуровневое кэширование (данные, фрагменты HTML кода или полные страницы, сессии и т.п.). С редиской можно общаться без установки библиотек (в Magento например есть специальный класс, написанный на PHP, который общается с сервером напрямую и туда суется много чего на разных этапах обработки данных, т.к. движок изначально затачивался под большие высоконагруженные сайты с номенклатурой  в миллионы позиций). В ОС как и в других движках мог бы дать серьезный эффект если бы например в нем хранились бы результаты запросов к БД или даже части отрендеренного HTML кода, но тут требуются доработки и немалые (как тут правильно писали 

composer require predis/predis

и вперед ... подключаете и начинаете допиливать движок). Есть и такие варианты https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=36992&filter_license=1&filter_download_id=35 но опять же вопрос в том, что модуль перехватывает и пыряет в кэш. В зависимости от этого вы либо почувствете эффект, либо нет. Или вот например https://dev-gang.ru/doc/twig/for_developers/ материал с примером реализации кэширования Twig ом шаблонов в кэше (Но сам не пробовал и не уверен что такое целесообразно. По крайней мере в Symfony скомпилированные из шаблонов и настроек файлы все равно хранятся на диске и ни как иначе). Это можно попробовать на ОС 3. Ну и т.д. Или вот вариант кэширования блоков https://github.com/asm89/twig-cache-extension правда это для APC но и для редиски такое можно сделать. Здесь как раз результаты рендеринга можно кэшировать.

Змінено користувачем EVMedvedev
Надіслати
Поділитися на інших сайтах


  • 1 year later...
В 03.06.2017 в 08:28, Yoda сказав:

 

Ради непонятно чего - сделать непонятно что, и непонятно зачем.

Чтобы на выходе получить + 5 мс.
Вместо того, чтобы запилить memcache, если сильно чешется и угомониться.

 

И НЕ ЗАМЕТИТЬ РАЗНИЦЫ!

 

off top:

Мы когда собирали площадку для Opencartforum, экспериментировали с разными типами хранилищ системного кеша IpBoard, так вот таки memcache показал самую большую производительность.

Святой человек. Спасибо за совет а то мне хостинг парит редис а я понять немогу зачем. 

Говорит это лучше мемкеш.

 

 

 

Надіслати
Поділитися на інших сайтах


16.04.2022 в 07:40, licensesoft сказал:

Святой человек. Спасибо за совет а то мне хостинг парит редис а я понять немогу зачем. 

Говорит это лучше мемкеш.

 

 

 

И редис и мемкеш актуальны, в случаях если у вас оооочень много мелких файлов кеша.
Овер 1000 файлов.
Имеючи NVME диск на хостинге - в целом ситуация по скорости нивелируется...


Что касается redis - это почти полноценная база данных, так что он не совсем и про кеш.

Но если рассматривать его как хранилище кеша, то в целом, "из коробки" он более гибок и удобен, так как минимум работает с набором больше 1мб по умолчанию. Мемкеш тоже так умеет но надо настраивать. Ну и основная прелесть redis, в том что он хранит снепшоты текущего состояния и  к примеру при перезагрузке сервера, вы не теряете все данные в кеше, не надо много времени на прогрев. но учитывая, что в OC время жизни кеша 1час, то это также бесполезное свойство!

 

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.