Чому Magento не може вимкнути кеш, коли Redis не працює


9

Я працюю з Magento 1.9.0.1, і раз у раз наші сервери Redis, в яких розміщений кеш Magento, (AWS ElastiCache) будуть знижуватися. Коли це відбувається, Magento фатально помиляється, поки Redis знову не з’явиться.

На це може бути важким питанням швидко відповісти, але що мені цікаво, чому не може Magento діяти так, як кеш вимкнено, коли він не може підключитися до Redis, а не смертельно помилятися?

Мені невідомі будь-які настройки або будь-який модуль, який надає Magento цю здатність, але на поверхні це не здається важким. Magento використовує, local.xmlщоб з'ясувати, як підключитися до бази даних та кеш-пам'ятки. Потім він підключається до бази даних і розглядає параметри кешу, щоб знати, використовувати чи не використовувати кеш. Якщо в базі даних сказано використовувати заданий кеш, він перемикає якийсь прапор (можливо, глобальну змінну або властивість сингтона) і використовує кеш-сервер для решти запиту. Не вдалося зробити Magento вимкнути це під час цього запиту, якщо сталася помилка підключення?

Повільний сайт краще, ніж смертельна помилка.

Редагувати: Очевидно, що деякі люди не розуміють, про що я питаю, або насправді не читали цю публікацію.

  1. Чи є модуль, який надасть Magento можливість функціонувати без фатальної помилки, коли Redis недоступний, коли Redis використовується як основний метод зберігання кешу.

  2. Якщо ні, чи може хтось просвітити мене, чому це неможливо чи дуже важко?


Це абсолютно гарне запитання. Я зіткнувся з одним і тим же питанням і з тим самим питанням. Чому не можу зрозуміти, що сервер Redis не працює, і переключився на традиційний кеш-пам'ять magento замість того, щоб фатально видавати помилку.
Vinu D

1
@Tyler V, голосуючи за повторне відкриття, не бачить, як це незрозуміло або поза темою здається цікавою проблемою та вагомим питанням. Я не знаю про модуль, який вирішує цю проблему, можливо, це не те, що Magento легко робить поза коробкою, і для цього знадобиться розроблений для цього модуль. Я думаю, вам слід вивчити, як викликається кеш в Magento, перш ніж розробити модуль.
Холлі

Найпростішим рішенням буде крон, який пінг Redis, і якщо відповіді немає, поміняє local.xml варіантом, який використовує кешування файлів.
Пол Григорута

Відповіді:


2

Все, що вам потрібно зробити, просто вирішити 3 проблеми / проблеми:

  1. Чому редис не вдається? Інтенсивний трафік, помилки, проблеми з пам’яттю, мережа?
  2. Час очікування та повторні налаштування для з'єднання?
  3. Ваш стек оновлений?

Очевидно, ви можете змінити якийсь код і розмістити свою логіку замість помилки.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.