SergeTkach Опубліковано: 19 червня 2019 Share Опубліковано: 19 червня 2019 Допустим, есть файл cache.sticker.bestseller.1560966030, который создал модуль из комплектации шаблона. И в другом модуле стикеров, идет запрос кеша через $sticker_cache = $this->cache->get('sticker'); В итоге, данные из файла cache.sticker.bestseller.1560966030 оказываются в переменной $sticker_cache... А вот так все ок $sticker_cache = $this->cache->get('prefix_sticker'); Ситуация наблюдается в OpenCart 2.1.0.2 - в других, еще не пробовал. Если что - опишусь. Надіслати Поділитися на інших сайтах More sharing options... spectre Опубліковано: 19 червня 2019 Share Опубліковано: 19 червня 2019 $files = glob(DIR_CACHE . 'cache.' . preg_replace('/[^A-Z0-9\._-]/i', '', $key) . '.*'); Надіслати Поділитися на інших сайтах More sharing options... SergeTkach Опубліковано: 19 червня 2019 Автор Share Опубліковано: 19 червня 2019 5 минут назад, spectre сказал: $files = glob(DIR_CACHE . 'cache.' . preg_replace('/[^A-Z0-9\._-]/i', '', $key) . '.*'); $files = glob(DIR_CACHE . 'cache.' . preg_replace('/[^A-Z0-9\._-]/i', '', 'sticker') . '.*'); Выдает вот так, за исключением, конечно, многоточия вместо имени сайта : )) ---------------------------------------------------------------------- $files Array ( [0] => /home/users/.../www/system/storage/cache/cache.sticker.bestseller.1560966491 ) Надіслати Поділитися на інших сайтах More sharing options... spectre Опубліковано: 19 червня 2019 Share Опубліковано: 19 червня 2019 можно ж открыть файл в котором get и set и все ясно станет да, коряво, но шо маемо то маемо Надіслати Поділитися на інших сайтах More sharing options... SergeTkach Опубліковано: 19 червня 2019 Автор Share Опубліковано: 19 червня 2019 Лично я решил вопрос префиксом Но решил засветить тему, может кому-то пригодится Надіслати Поділитися на інших сайтах More sharing options... SergeTkach Опубліковано: 19 червня 2019 Автор Share Опубліковано: 19 червня 2019 Хотя, таки проверил и новую версию - /var/www/sites/oc-store-3020.loc/public_html/system/library/cache/file.php Там код такой же: $files = glob(DIR_CACHE . 'cache.' . preg_replace('/[^A-Z0-9\._-]/i', '', $key) . '.*'); Подозреваю, что основная проблемка в выделенной части: $files = glob(DIR_CACHE . 'cache.' . preg_replace('/[^A-Z0-9\._-]/i', '', $key) . '.*'); То есть выходит поиск ведется по шаблону: cache.sticker.* То стало быть, если мы используем ключи вида sticker.bestseller (Общее.Конкретизация) разделенные через точку, а кто-то использует ключ, состоящий только из первой части нашего ключа, то баг неизбежен. Хотя, часто встречается product.viewed, багов нет, потому что product слишком обширен и неконкретен, чтобы использовать его без конкретизации. Но вот sticker вполне может хранить все настройки 10-ка стикеров, существующих в настройках модуля. Это, наверно, стоило бы учитывать разработчикам шаблонов. То есть, лучше использовать upper_case при назывании ключей для кеша, чем разделение слов точкой. Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 19 червня 2019 Share Опубліковано: 19 червня 2019 в Opencart метод кеширования очень далек от идеальности. во первых, в самом коде используется регулярка, а это уже тормоз. во вторых - зачем искать все файлы с использованием glob. в третьих - выдает ошибку при пустом массиве. в четвертых - если папка cache имеет большой объем, то может выдавать ошибку при ее сканировании. Чтоб не наступать на вышеперечисленные грабли и не только, я для своих модулей создал и использую свой метод кеширования, и в свою папку. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації Модуль SmartCache розширена версія системи кешування із захистом від ефекту "собача купа" та іншими "смаколиками" [Поддержка] Автор: Vladzimir, 14 червня 2021 cache boost 23 відповіді 3 218 переглядів sh1sh1n 6 листопада 2024 SmartCache розширена версія системи кешування із захистом від ефекту "собача купа" та іншими "смаколиками" Автор: Vladzimir, 29 липня 2021 cache boost 0 коментарів 9 721 перегляд Vladzimir 14 червня 2021 Модуль Jet Cache SE - кешування, pagespeed, оптимізація магазинів [Поддержка] 1 2 3 4 75 Автор: markimax, 15 березня 2017 cache seo cms (і ще 10) Теги: cache seo cms кеширование кеш страниц кеш контроллеров кеш моделей скорость jet cache оптимизация запросы тормозит pagespeed 1 859 відповідей 282 579 переглядів markimax 12 травня модуль [Поддержка] CART CACHE - кэшируем корзину (cart.php => getProducts) 1 2 3 Автор: kJlukOo, 24 серпня 2018 cart cache cache (і ще 3) Теги: cart cache cache корзина кеширование module 66 відповідей 10 554 перегляди AlektroNik 8 жовтня 2021 модуль CART CACHE - кэшируем корзину (cart.php => getProducts) Автор: kJlukOo, 24 серпня 2018 cart cache cache (і ще 3) Теги: cart cache cache корзина кеширование module 0 коментарів 10 416 переглядів kJlukOo 24 серпня 2018 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Загальні питання А у Вас был такой баг с кешем в OpenCart? Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав WebrovGroup Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Правова інформація (Україна) Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика просування оголошень OpenCartForum Форум Модулі Шаблони Безкоштовні шаблониПлатні шаблони Блоги Новини ocStore Офіційний сайтДемо ocStore 3.0.3.2Демо ocStore 2.3.0.2.4Завантажити ocStoreДокументаціяІсторія версій ocStore Гість Українська Русский English Уже зареєстровані? Ввійти Реєстрація × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
spectre Опубліковано: 19 червня 2019 Share Опубліковано: 19 червня 2019 $files = glob(DIR_CACHE . 'cache.' . preg_replace('/[^A-Z0-9\._-]/i', '', $key) . '.*'); Надіслати Поділитися на інших сайтах More sharing options... SergeTkach Опубліковано: 19 червня 2019 Автор Share Опубліковано: 19 червня 2019 5 минут назад, spectre сказал: $files = glob(DIR_CACHE . 'cache.' . preg_replace('/[^A-Z0-9\._-]/i', '', $key) . '.*'); $files = glob(DIR_CACHE . 'cache.' . preg_replace('/[^A-Z0-9\._-]/i', '', 'sticker') . '.*'); Выдает вот так, за исключением, конечно, многоточия вместо имени сайта : )) ---------------------------------------------------------------------- $files Array ( [0] => /home/users/.../www/system/storage/cache/cache.sticker.bestseller.1560966491 ) Надіслати Поділитися на інших сайтах More sharing options... spectre Опубліковано: 19 червня 2019 Share Опубліковано: 19 червня 2019 можно ж открыть файл в котором get и set и все ясно станет да, коряво, но шо маемо то маемо Надіслати Поділитися на інших сайтах More sharing options... SergeTkach Опубліковано: 19 червня 2019 Автор Share Опубліковано: 19 червня 2019 Лично я решил вопрос префиксом Но решил засветить тему, может кому-то пригодится Надіслати Поділитися на інших сайтах More sharing options... SergeTkach Опубліковано: 19 червня 2019 Автор Share Опубліковано: 19 червня 2019 Хотя, таки проверил и новую версию - /var/www/sites/oc-store-3020.loc/public_html/system/library/cache/file.php Там код такой же: $files = glob(DIR_CACHE . 'cache.' . preg_replace('/[^A-Z0-9\._-]/i', '', $key) . '.*'); Подозреваю, что основная проблемка в выделенной части: $files = glob(DIR_CACHE . 'cache.' . preg_replace('/[^A-Z0-9\._-]/i', '', $key) . '.*'); То есть выходит поиск ведется по шаблону: cache.sticker.* То стало быть, если мы используем ключи вида sticker.bestseller (Общее.Конкретизация) разделенные через точку, а кто-то использует ключ, состоящий только из первой части нашего ключа, то баг неизбежен. Хотя, часто встречается product.viewed, багов нет, потому что product слишком обширен и неконкретен, чтобы использовать его без конкретизации. Но вот sticker вполне может хранить все настройки 10-ка стикеров, существующих в настройках модуля. Это, наверно, стоило бы учитывать разработчикам шаблонов. То есть, лучше использовать upper_case при назывании ключей для кеша, чем разделение слов точкой. Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 19 червня 2019 Share Опубліковано: 19 червня 2019 в Opencart метод кеширования очень далек от идеальности. во первых, в самом коде используется регулярка, а это уже тормоз. во вторых - зачем искать все файлы с использованием glob. в третьих - выдает ошибку при пустом массиве. в четвертых - если папка cache имеет большой объем, то может выдавать ошибку при ее сканировании. Чтоб не наступать на вышеперечисленные грабли и не только, я для своих модулей создал и использую свой метод кеширования, и в свою папку. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації Модуль SmartCache розширена версія системи кешування із захистом від ефекту "собача купа" та іншими "смаколиками" [Поддержка] Автор: Vladzimir, 14 червня 2021 cache boost 23 відповіді 3 218 переглядів sh1sh1n 6 листопада 2024 SmartCache розширена версія системи кешування із захистом від ефекту "собача купа" та іншими "смаколиками" Автор: Vladzimir, 29 липня 2021 cache boost 0 коментарів 9 721 перегляд Vladzimir 14 червня 2021 Модуль Jet Cache SE - кешування, pagespeed, оптимізація магазинів [Поддержка] 1 2 3 4 75 Автор: markimax, 15 березня 2017 cache seo cms (і ще 10) Теги: cache seo cms кеширование кеш страниц кеш контроллеров кеш моделей скорость jet cache оптимизация запросы тормозит pagespeed 1 859 відповідей 282 579 переглядів markimax 12 травня модуль [Поддержка] CART CACHE - кэшируем корзину (cart.php => getProducts) 1 2 3 Автор: kJlukOo, 24 серпня 2018 cart cache cache (і ще 3) Теги: cart cache cache корзина кеширование module 66 відповідей 10 554 перегляди AlektroNik 8 жовтня 2021 модуль CART CACHE - кэшируем корзину (cart.php => getProducts) Автор: kJlukOo, 24 серпня 2018 cart cache cache (і ще 3) Теги: cart cache cache корзина кеширование module 0 коментарів 10 416 переглядів kJlukOo 24 серпня 2018 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Загальні питання А у Вас был такой баг с кешем в OpenCart? Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав WebrovGroup Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Правова інформація (Україна) Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика просування оголошень OpenCartForum Форум Модулі Шаблони Безкоштовні шаблониПлатні шаблони Блоги Новини ocStore Офіційний сайтДемо ocStore 3.0.3.2Демо ocStore 2.3.0.2.4Завантажити ocStoreДокументаціяІсторія версій ocStore Гість Українська Русский English Уже зареєстровані? Ввійти Реєстрація × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
SergeTkach Опубліковано: 19 червня 2019 Автор Share Опубліковано: 19 червня 2019 5 минут назад, spectre сказал: $files = glob(DIR_CACHE . 'cache.' . preg_replace('/[^A-Z0-9\._-]/i', '', $key) . '.*'); $files = glob(DIR_CACHE . 'cache.' . preg_replace('/[^A-Z0-9\._-]/i', '', 'sticker') . '.*'); Выдает вот так, за исключением, конечно, многоточия вместо имени сайта : )) ---------------------------------------------------------------------- $files Array ( [0] => /home/users/.../www/system/storage/cache/cache.sticker.bestseller.1560966491 ) Надіслати Поділитися на інших сайтах More sharing options... spectre Опубліковано: 19 червня 2019 Share Опубліковано: 19 червня 2019 можно ж открыть файл в котором get и set и все ясно станет да, коряво, но шо маемо то маемо Надіслати Поділитися на інших сайтах More sharing options... SergeTkach Опубліковано: 19 червня 2019 Автор Share Опубліковано: 19 червня 2019 Лично я решил вопрос префиксом Но решил засветить тему, может кому-то пригодится Надіслати Поділитися на інших сайтах More sharing options... SergeTkach Опубліковано: 19 червня 2019 Автор Share Опубліковано: 19 червня 2019 Хотя, таки проверил и новую версию - /var/www/sites/oc-store-3020.loc/public_html/system/library/cache/file.php Там код такой же: $files = glob(DIR_CACHE . 'cache.' . preg_replace('/[^A-Z0-9\._-]/i', '', $key) . '.*'); Подозреваю, что основная проблемка в выделенной части: $files = glob(DIR_CACHE . 'cache.' . preg_replace('/[^A-Z0-9\._-]/i', '', $key) . '.*'); То есть выходит поиск ведется по шаблону: cache.sticker.* То стало быть, если мы используем ключи вида sticker.bestseller (Общее.Конкретизация) разделенные через точку, а кто-то использует ключ, состоящий только из первой части нашего ключа, то баг неизбежен. Хотя, часто встречается product.viewed, багов нет, потому что product слишком обширен и неконкретен, чтобы использовать его без конкретизации. Но вот sticker вполне может хранить все настройки 10-ка стикеров, существующих в настройках модуля. Это, наверно, стоило бы учитывать разработчикам шаблонов. То есть, лучше использовать upper_case при назывании ключей для кеша, чем разделение слов точкой. Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 19 червня 2019 Share Опубліковано: 19 червня 2019 в Opencart метод кеширования очень далек от идеальности. во первых, в самом коде используется регулярка, а это уже тормоз. во вторых - зачем искать все файлы с использованием glob. в третьих - выдает ошибку при пустом массиве. в четвертых - если папка cache имеет большой объем, то может выдавать ошибку при ее сканировании. Чтоб не наступать на вышеперечисленные грабли и не только, я для своих модулей создал и использую свой метод кеширования, и в свою папку. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації Модуль SmartCache розширена версія системи кешування із захистом від ефекту "собача купа" та іншими "смаколиками" [Поддержка] Автор: Vladzimir, 14 червня 2021 cache boost 23 відповіді 3 218 переглядів sh1sh1n 6 листопада 2024 SmartCache розширена версія системи кешування із захистом від ефекту "собача купа" та іншими "смаколиками" Автор: Vladzimir, 29 липня 2021 cache boost 0 коментарів 9 721 перегляд Vladzimir 14 червня 2021 Модуль Jet Cache SE - кешування, pagespeed, оптимізація магазинів [Поддержка] 1 2 3 4 75 Автор: markimax, 15 березня 2017 cache seo cms (і ще 10) Теги: cache seo cms кеширование кеш страниц кеш контроллеров кеш моделей скорость jet cache оптимизация запросы тормозит pagespeed 1 859 відповідей 282 579 переглядів markimax 12 травня модуль [Поддержка] CART CACHE - кэшируем корзину (cart.php => getProducts) 1 2 3 Автор: kJlukOo, 24 серпня 2018 cart cache cache (і ще 3) Теги: cart cache cache корзина кеширование module 66 відповідей 10 554 перегляди AlektroNik 8 жовтня 2021 модуль CART CACHE - кэшируем корзину (cart.php => getProducts) Автор: kJlukOo, 24 серпня 2018 cart cache cache (і ще 3) Теги: cart cache cache корзина кеширование module 0 коментарів 10 416 переглядів kJlukOo 24 серпня 2018 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Загальні питання А у Вас был такой баг с кешем в OpenCart? Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав WebrovGroup Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Правова інформація (Україна) Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика просування оголошень OpenCartForum Форум Модулі Шаблони Безкоштовні шаблониПлатні шаблони Блоги Новини ocStore Офіційний сайтДемо ocStore 3.0.3.2Демо ocStore 2.3.0.2.4Завантажити ocStoreДокументаціяІсторія версій ocStore Гість Українська Русский English Уже зареєстровані? Ввійти Реєстрація × Створити... Important Information На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність. Я даю згоду
spectre Опубліковано: 19 червня 2019 Share Опубліковано: 19 червня 2019 можно ж открыть файл в котором get и set и все ясно станет да, коряво, но шо маемо то маемо Надіслати Поділитися на інших сайтах More sharing options... SergeTkach Опубліковано: 19 червня 2019 Автор Share Опубліковано: 19 червня 2019 Лично я решил вопрос префиксом Но решил засветить тему, может кому-то пригодится Надіслати Поділитися на інших сайтах More sharing options... SergeTkach Опубліковано: 19 червня 2019 Автор Share Опубліковано: 19 червня 2019 Хотя, таки проверил и новую версию - /var/www/sites/oc-store-3020.loc/public_html/system/library/cache/file.php Там код такой же: $files = glob(DIR_CACHE . 'cache.' . preg_replace('/[^A-Z0-9\._-]/i', '', $key) . '.*'); Подозреваю, что основная проблемка в выделенной части: $files = glob(DIR_CACHE . 'cache.' . preg_replace('/[^A-Z0-9\._-]/i', '', $key) . '.*'); То есть выходит поиск ведется по шаблону: cache.sticker.* То стало быть, если мы используем ключи вида sticker.bestseller (Общее.Конкретизация) разделенные через точку, а кто-то использует ключ, состоящий только из первой части нашего ключа, то баг неизбежен. Хотя, часто встречается product.viewed, багов нет, потому что product слишком обширен и неконкретен, чтобы использовать его без конкретизации. Но вот sticker вполне может хранить все настройки 10-ка стикеров, существующих в настройках модуля. Это, наверно, стоило бы учитывать разработчикам шаблонов. То есть, лучше использовать upper_case при назывании ключей для кеша, чем разделение слов точкой. Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 19 червня 2019 Share Опубліковано: 19 червня 2019 в Opencart метод кеширования очень далек от идеальности. во первых, в самом коде используется регулярка, а это уже тормоз. во вторых - зачем искать все файлы с использованием glob. в третьих - выдает ошибку при пустом массиве. в четвертых - если папка cache имеет большой объем, то может выдавать ошибку при ее сканировании. Чтоб не наступать на вышеперечисленные грабли и не только, я для своих модулей создал и использую свой метод кеширования, и в свою папку. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації Модуль SmartCache розширена версія системи кешування із захистом від ефекту "собача купа" та іншими "смаколиками" [Поддержка] Автор: Vladzimir, 14 червня 2021 cache boost 23 відповіді 3 218 переглядів sh1sh1n 6 листопада 2024 SmartCache розширена версія системи кешування із захистом від ефекту "собача купа" та іншими "смаколиками" Автор: Vladzimir, 29 липня 2021 cache boost 0 коментарів 9 721 перегляд Vladzimir 14 червня 2021 Модуль Jet Cache SE - кешування, pagespeed, оптимізація магазинів [Поддержка] 1 2 3 4 75 Автор: markimax, 15 березня 2017 cache seo cms (і ще 10) Теги: cache seo cms кеширование кеш страниц кеш контроллеров кеш моделей скорость jet cache оптимизация запросы тормозит pagespeed 1 859 відповідей 282 579 переглядів markimax 12 травня модуль [Поддержка] CART CACHE - кэшируем корзину (cart.php => getProducts) 1 2 3 Автор: kJlukOo, 24 серпня 2018 cart cache cache (і ще 3) Теги: cart cache cache корзина кеширование module 66 відповідей 10 554 перегляди AlektroNik 8 жовтня 2021 модуль CART CACHE - кэшируем корзину (cart.php => getProducts) Автор: kJlukOo, 24 серпня 2018 cart cache cache (і ще 3) Теги: cart cache cache корзина кеширование module 0 коментарів 10 416 переглядів kJlukOo 24 серпня 2018 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Загальні питання А у Вас был такой баг с кешем в OpenCart? Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав WebrovGroup Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Правова інформація (Україна) Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика просування оголошень
SergeTkach Опубліковано: 19 червня 2019 Автор Share Опубліковано: 19 червня 2019 Лично я решил вопрос префиксом Но решил засветить тему, может кому-то пригодится Надіслати Поділитися на інших сайтах More sharing options... SergeTkach Опубліковано: 19 червня 2019 Автор Share Опубліковано: 19 червня 2019 Хотя, таки проверил и новую версию - /var/www/sites/oc-store-3020.loc/public_html/system/library/cache/file.php Там код такой же: $files = glob(DIR_CACHE . 'cache.' . preg_replace('/[^A-Z0-9\._-]/i', '', $key) . '.*'); Подозреваю, что основная проблемка в выделенной части: $files = glob(DIR_CACHE . 'cache.' . preg_replace('/[^A-Z0-9\._-]/i', '', $key) . '.*'); То есть выходит поиск ведется по шаблону: cache.sticker.* То стало быть, если мы используем ключи вида sticker.bestseller (Общее.Конкретизация) разделенные через точку, а кто-то использует ключ, состоящий только из первой части нашего ключа, то баг неизбежен. Хотя, часто встречается product.viewed, багов нет, потому что product слишком обширен и неконкретен, чтобы использовать его без конкретизации. Но вот sticker вполне может хранить все настройки 10-ка стикеров, существующих в настройках модуля. Это, наверно, стоило бы учитывать разработчикам шаблонов. То есть, лучше использовать upper_case при назывании ключей для кеша, чем разделение слов точкой. Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 19 червня 2019 Share Опубліковано: 19 червня 2019 в Opencart метод кеширования очень далек от идеальности. во первых, в самом коде используется регулярка, а это уже тормоз. во вторых - зачем искать все файлы с использованием glob. в третьих - выдает ошибку при пустом массиве. в четвертых - если папка cache имеет большой объем, то может выдавать ошибку при ее сканировании. Чтоб не наступать на вышеперечисленные грабли и не только, я для своих модулей создал и использую свой метод кеширования, и в свою папку. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації Модуль SmartCache розширена версія системи кешування із захистом від ефекту "собача купа" та іншими "смаколиками" [Поддержка] Автор: Vladzimir, 14 червня 2021 cache boost 23 відповіді 3 218 переглядів sh1sh1n 6 листопада 2024 SmartCache розширена версія системи кешування із захистом від ефекту "собача купа" та іншими "смаколиками" Автор: Vladzimir, 29 липня 2021 cache boost 0 коментарів 9 721 перегляд Vladzimir 14 червня 2021 Модуль Jet Cache SE - кешування, pagespeed, оптимізація магазинів [Поддержка] 1 2 3 4 75 Автор: markimax, 15 березня 2017 cache seo cms (і ще 10) Теги: cache seo cms кеширование кеш страниц кеш контроллеров кеш моделей скорость jet cache оптимизация запросы тормозит pagespeed 1 859 відповідей 282 579 переглядів markimax 12 травня модуль [Поддержка] CART CACHE - кэшируем корзину (cart.php => getProducts) 1 2 3 Автор: kJlukOo, 24 серпня 2018 cart cache cache (і ще 3) Теги: cart cache cache корзина кеширование module 66 відповідей 10 554 перегляди AlektroNik 8 жовтня 2021 модуль CART CACHE - кэшируем корзину (cart.php => getProducts) Автор: kJlukOo, 24 серпня 2018 cart cache cache (і ще 3) Теги: cart cache cache корзина кеширование module 0 коментарів 10 416 переглядів kJlukOo 24 серпня 2018 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку Последние темы Последние дополнения Последние новости Вся активність Головна Opencart 2.x Opencart 2.x: Загальні питання А у Вас был такой баг с кешем в OpenCart?
SergeTkach Опубліковано: 19 червня 2019 Автор Share Опубліковано: 19 червня 2019 Хотя, таки проверил и новую версию - /var/www/sites/oc-store-3020.loc/public_html/system/library/cache/file.php Там код такой же: $files = glob(DIR_CACHE . 'cache.' . preg_replace('/[^A-Z0-9\._-]/i', '', $key) . '.*'); Подозреваю, что основная проблемка в выделенной части: $files = glob(DIR_CACHE . 'cache.' . preg_replace('/[^A-Z0-9\._-]/i', '', $key) . '.*'); То есть выходит поиск ведется по шаблону: cache.sticker.* То стало быть, если мы используем ключи вида sticker.bestseller (Общее.Конкретизация) разделенные через точку, а кто-то использует ключ, состоящий только из первой части нашего ключа, то баг неизбежен. Хотя, часто встречается product.viewed, багов нет, потому что product слишком обширен и неконкретен, чтобы использовать его без конкретизации. Но вот sticker вполне может хранить все настройки 10-ка стикеров, существующих в настройках модуля. Это, наверно, стоило бы учитывать разработчикам шаблонов. То есть, лучше использовать upper_case при назывании ключей для кеша, чем разделение слов точкой. Надіслати Поділитися на інших сайтах More sharing options... vier Опубліковано: 19 червня 2019 Share Опубліковано: 19 червня 2019 в Opencart метод кеширования очень далек от идеальности. во первых, в самом коде используется регулярка, а это уже тормоз. во вторых - зачем искать все файлы с использованием glob. в третьих - выдает ошибку при пустом массиве. в четвертых - если папка cache имеет большой объем, то может выдавать ошибку при ее сканировании. Чтоб не наступать на вышеперечисленные грабли и не только, я для своих модулей создал и использую свой метод кеширования, и в свою папку. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0 Перейти до списку тем Схожі публікації Модуль SmartCache розширена версія системи кешування із захистом від ефекту "собача купа" та іншими "смаколиками" [Поддержка] Автор: Vladzimir, 14 червня 2021 cache boost 23 відповіді 3 218 переглядів sh1sh1n 6 листопада 2024 SmartCache розширена версія системи кешування із захистом від ефекту "собача купа" та іншими "смаколиками" Автор: Vladzimir, 29 липня 2021 cache boost 0 коментарів 9 721 перегляд Vladzimir 14 червня 2021 Модуль Jet Cache SE - кешування, pagespeed, оптимізація магазинів [Поддержка] 1 2 3 4 75 Автор: markimax, 15 березня 2017 cache seo cms (і ще 10) Теги: cache seo cms кеширование кеш страниц кеш контроллеров кеш моделей скорость jet cache оптимизация запросы тормозит pagespeed 1 859 відповідей 282 579 переглядів markimax 12 травня модуль [Поддержка] CART CACHE - кэшируем корзину (cart.php => getProducts) 1 2 3 Автор: kJlukOo, 24 серпня 2018 cart cache cache (і ще 3) Теги: cart cache cache корзина кеширование module 66 відповідей 10 554 перегляди AlektroNik 8 жовтня 2021 модуль CART CACHE - кэшируем корзину (cart.php => getProducts) Автор: kJlukOo, 24 серпня 2018 cart cache cache (і ще 3) Теги: cart cache cache корзина кеширование module 0 коментарів 10 416 переглядів kJlukOo 24 серпня 2018 Зараз на сторінці 0 користувачів Ні користувачів, які переглядиють цю сторінку
vier Опубліковано: 19 червня 2019 Share Опубліковано: 19 червня 2019 в Opencart метод кеширования очень далек от идеальности. во первых, в самом коде используется регулярка, а это уже тормоз. во вторых - зачем искать все файлы с использованием glob. в третьих - выдает ошибку при пустом массиве. в четвертых - если папка cache имеет большой объем, то может выдавать ошибку при ее сканировании. Чтоб не наступать на вышеперечисленные грабли и не только, я для своих модулей создал и использую свой метод кеширования, и в свою папку. Надіслати Поділитися на інших сайтах More sharing options... Створіть аккаунт або увійдіть для коментування Ви повинні бути користувачем, щоб залишити коментар Створити обліковий запис Зареєструйтеся для отримання облікового запису. Це просто! Зареєструвати аккаунт Вхід Уже зареєстровані? Увійдіть тут. Вхід зараз Share More sharing options... Передплатники 0
Recommended Posts