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

Як уникнути битого JSON у кеші OpenCart при паралельних запитах?


Кому це потрібно: магазини що періодично бачать у логах помилки виду «Invalid JSON in cache file» або відображення товару без даних — це класична race condition стандартного OpenCart кеша при паралельних запитах.

Як проявляється стандартний баг: запит А починає писати у файл кеша, запит Б одночасно читає — отримує половину старого + половина нового вмісту, JSON ламається, OpenCart падає на decode.

Що робить OcBox Cache File Optimized: атомарний запис через тимчасовий файл і rename() (атомарна операція файлової системи), flock(LOCK_SH) на читанні і flock(LOCK_EX) на записі. Race conditions виключені. Битий JSON автоматично видаляється і перегенеровується.

Перевага: стабільний кеш у годину пік. Без модуля — періодичні «дивні» помилки на high-traffic, які важко відтворити локально.


Comments

Немає коментарів для відображення

Гість
×
  • Створити...

Important Information

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