UncleAndy Опубликовано: 7 марта 2011 Поделиться Опубликовано: 7 марта 2011 Сделал две модификации для улучшения кэширования через memcached. Может быть полезно при большой нагрузке и/или использовании нескольких бэкэндов с общим кэшем. 1. Модификация system/library/cache.php для возможности работать с Memcached. Параметры в config.php: define('CACHE_DRIVER', 'memcached'); define('MEMCACHE_HOSTNAME', 'localhost'); define('MEMCACHE_PORT', '11211'); define('MEMCACHE_NAMESPACE', 'opencart_test'); При другом значении CACHE_DRIVER или отсутствии соединения с сервером memcached, будет использоваться стандартное кэширование в файлы. 2. Сделал вариант драйвера БД mysql_cached, в котором кэшируются запросы SQL. Время кэширования настривается через config.php: define('DB_CACHED_EXPIRE', 120); Для сброса всего SQL кэша можно поместить текущее время time() в кэшь с ключем "sql_globalresetcache". PS. В данный момент делаю драйвер БД для postgresql. cache.php mysql_cached.php Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
afwollis Опубликовано: 8 марта 2011 Поделиться Опубликовано: 8 марта 2011 во класс. теперь можно все на отдельных серверах крутить. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... UncleAndy Опубликовано: 8 марта 2011 Автор Поделиться Опубликовано: 8 марта 2011 Я сейчас контактирую с разработчиками. Вполне вероятно, что в районе версии 1.5.1 эти изменения войдут в основную ветку. Возможно, вместе с драйвером для Postgresql. :) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... UncleAndy Опубликовано: 8 марта 2011 Автор Поделиться Опубликовано: 8 марта 2011 Имя файла: Драйвер БД Mysql с кэшированием запросов Владелец файла: UncleAndy Файл размещен: 08 марта 2011 Категория файла: Прочее Дополнительный драйвер БД для Mysql, в котором происходит кэширование всех SELECT запросов. Время кэширования SQL запросов в секундах задается в config.php: define('DB_DRIVER', 'mysql_cached'); define('DB_CACHED_EXPIRE', 120); Нажмите сюда, чтобы скачать этот файл Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... monax Опубликовано: 10 марта 2011 Поделиться Опубликовано: 10 марта 2011 А можно для тех, кто не понимает с полуслова, написать в двух словах инструкцию, как сие чудо приспособить к скрипту? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... UncleAndy Опубликовано: 10 марта 2011 Автор Поделиться Опубликовано: 10 марта 2011 Для драйвера БД mysql_cached: 1. Ложите файл mysql_cached.php в каталог system/database/. 2. В корне магазина в файле config.php меняете строку define('DB_DRIVER', 'mysql'); на define('DB_DRIVER', 'mysql_cached'); и добавляете define('DB_CACHED_EXPIRE', 120); НЕ рекомендую ставить этот драйвер в конфигурации админки. Т.к. в админку НЕ встроены средства сброса кэша и это чревато различными "глюками". Для новой библиотеки кэширования: 1. Берете файл cache.php и перезаписываете им файл system/library/cache.php. Эта процедура не нарушит работу сайта - будет использоватся обычный файловый кэшь. 2. Устанавливаете в системе (или на другом сервере) сервер memcached и запускаете его. Это делается просто - без каких-то особенностей. Единственное, что если будете использовать кэширование в memcached совместно с mysql_cached, скорей всего в конфиге memcached нужно будет увеличить размер используемой памяти. На CentOS, например, после установки выделяется 65 Мб. 2. Идете в корень магазина и текстовым редактором дописываете в config.php строки конфигурации (с параметрами своего memcached сервера): define('CACHE_DRIVER', 'memcached'); define('MEMCACHE_HOSTNAME', 'localhost'); define('MEMCACHE_PORT', '11211'); define('MEMCACHE_NAMESPACE', 'opencart_test'); Рекомендую эти-же параметры прописать в файле конфигурации админки - admin/config.php. Сейчас это не очень принципиально, но, надеюсь, в будущем в админке добавяться опции управления кэшем. Параметр MEMCACHE_NAMESPACE нужен для варианта когда одним сервером memcached будут пользоваться разные магазины - для разделения их кэшей. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... UncleAndy Опубликовано: 10 марта 2011 Автор Поделиться Опубликовано: 10 марта 2011 Добавил описание установки на страницы модулей. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 3 недели спустя... monax Опубликовано: 30 марта 2011 Поделиться Опубликовано: 30 марта 2011 Спешу поделиться кучей впечатлений от использования сего драйвера (mysql_cached.php). Скачал, установил. И начались чудеса. Во-первых, втрое увеличилось время реагирования на клик. Если раньше, после клика на любой линк, картинку и т.п. он открывался в течении 1 секунды, то после установки этого драйвера стало жутко тормозить. Кликаю на ссылку, проходит не меньше 3 секунд и только тогда открывается новая страница. Я уж было начал грешить на кучу джавовских кодов, которые понатыканы в скрипте Опенкарта, плюс я там подоставлял ещё... Но раньше-то открывалось втрое быстрее!!! Но это ещё не все чудеса... Поменял в админке текст в новостях и ещё названия нескольких категорий поменял. Обновляю сайт - ничего не изменилось (текст не поменялся, категории - тоже). Помня, что, как говорится "вас предупреждалось", что с этим драйвером такое возможно, подождал пять минут. Обновил сайт. Ничего не изменилось. Подождал ещё 5 минут. Обновил. Всё по-старому. Надоело ждать, снёс его, нафиг... А теперь вопрос. А файле стоит время кеширования - 120 секунд. Т.е., 2 минуты. Почему у меня и за 10 минут ничего не изменилось? И почему драйвер так мощно тормозит сайт? Насколько я понял, он должен не тормозить, а ускорить работу? Или я что-то не так понял? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... UncleAndy Опубликовано: 30 марта 2011 Автор Поделиться Опубликовано: 30 марта 2011 При использовании файлового кэша результат не однозначен. Улучшение может быть если использовать memcached. В принципе, драйвер и писался в расчете на это. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 2 месяца спустя... karapuzam Опубликовано: 31 мая 2011 Поделиться Опубликовано: 31 мая 2011 версия 0.2.0 изменения внесены - установлены доп. модули. сайт на хостинге. ошибка в журнале: 2011-05-30 0:10:59 - PHP Warning: file_get_contents(/system/cache/cache.sql_75830e0454c7be0b20d6da68f8fc3b96.1306699858) [<a href='function.file-get-contents'>function.file-get-contents</a>]: failed to open stream: No such file or directory in /system/library/cache.php on line 52 Может я что-то не так сделал при установке? Где копать проблему, подскажите пожалуйста... Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... UncleAndy Опубликовано: 31 мая 2011 Автор Поделиться Опубликовано: 31 мая 2011 ошибка в журнале: 2011-05-30 0:10:59 - PHP Warning: file_get_contents(/system/cache/cache.sql_75830e0454c7be0b20d6da68f8fc3b96.1306699858) [<a href='function.file-get-contents'>function.file-get-contents</a>]: failed to open stream: No such file or directory in /system/library/cache.php on line 52 Может я что-то не так сделал при установке? Где копать проблему, подскажите пожалуйста... Пути проверте. Явно неправильно задан каталог для хранения кэша в виде файлов. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... afwollis Опубликовано: 1 июня 2011 Поделиться Опубликовано: 1 июня 2011 UncleAndy, вам не кажется, что ошибок было бы больше :huh: , если бы неправильно был задан каталог для хранения кэша? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Sammy95 Опубликовано: 1 июня 2011 Поделиться Опубликовано: 1 июня 2011 2011-05-30 0:10:59 - PHP Warning: file_get_contents(/system/cache/cache.sql_75830e0454c7be0b20d6da68f8fc3b96.1306699858) [<a href='function.file-get-contents'>function.file-get-contents</a>]: failed to open stream: No such file or directory in /system/library/cache.php on line 52Эта строка появилась в ревизии 69.Скорее всего файл успел удалиться к тому времени, как его попытались прочитать. Надо переписать как-то так: if ($files && $cache = @file_get_contents($files[0])) return unserialize($cache); } 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... karapuzam Опубликовано: 1 июня 2011 Поделиться Опубликовано: 1 июня 2011 У Вас ошибочка в код закралась небольшая в виде знака & Сделал чуток по-другому: public function get($key) { if (($this->cachedriver == 'memcached') && $this->ismemcache) { return($this->memcache->get(MEMCACHE_NAMESPACE . $key, 0)); } else { $files = glob(DIR_CACHE . 'cache.' . $key . '.*'); if ($files && ($cache = file_get_contents($files[0]))) { return unserialize($cache); } } } Но всё равно спасибо) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... UncleAndy Опубликовано: 1 июня 2011 Автор Поделиться Опубликовано: 1 июня 2011 У Вас ошибочка в код закралась небольшая в виде знака &Можно подробнее - где именно? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Sammy95 Опубликовано: 1 июня 2011 Поделиться Опубликовано: 1 июня 2011 А, ну да, && выполняется раньше чем =, так что надо взять в скобки часть выражения: $cache = file_get_contents($files[0])ну или заменить && на andkarapuzam: а вот собаку (@) перед file_get_contents вы зря убрали, без неё ошибка всё-равно будет генерироваться. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 8 месяцев спустя... furnaslives Опубликовано: 2 февраля 2012 Поделиться Опубликовано: 2 февраля 2012 Для сброса всего SQL кэша можно поместить текущее время time() в кэшь с ключем "sql_globalresetcache". Подскажите как это правильно сделать? Что и куда дописать? Нужно, чтобы все файлы кеша, которые начинаются на "cache.sql_", удалялись через определенный промежуток времени. Либо же, что еще лучше - при достижении количества в 1000 файлов, начинающихся на "cache.sql_" Как это сделать? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 1 месяц спустя... fjeka Опубликовано: 18 марта 2012 Поделиться Опубликовано: 18 марта 2012 А чем отличаются файлы на этой странице и на этой http://opencartforum...__fromsearch__1 ? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 3 месяца спустя... fob Опубликовано: 27 июня 2012 Поделиться Опубликовано: 27 июня 2012 Notice: Use of undefined constant CACHE_DRIVER - assumed 'CACHE_DRIVER' in /var/www/system/library/cache.php on line 10Notice: Use of undefined constant CACHE_DRIVER - assumed 'CACHE_DRIVER' in /var/www/system/library/cache.php on line 39Notice: Use of undefined constant CACHE_DRIVER - assumed 'CACHE_DRIVER' in /var/www/system/library/cache.php on line 39 Странно почему то не сработало... Кстати нет ли возможности сделать еще один вид кеширования для APC у меня почему то оно не сработало public function get($key) { if (extension_loaded('apc')) { return apc_fetch(HTTP_SERVER.$key); } else { // old get code goes here } }[/b] [b] public function set($key, $value) { if (extension_loaded('apc')) { apc_store(HTTP_SERVER.$key,$value,600); } else { // old set code goes here } }[/b] [b] public function delete($key) { if (extension_loaded('apc')) { apc_delete(HTTP_SERVER.$key); } else { // old delete code goes here } }[/b] [b] Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 9 месяцев спустя... avtozakup Опубликовано: 11 апреля 2013 Поделиться Опубликовано: 11 апреля 2013 Народ так что стоит не стоит танцы с бубнами проводить и ставить memcashe? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 3 месяца спустя... markimax Опубликовано: 24 июля 2013 Поделиться Опубликовано: 24 июля 2013 Установка mysql_cached вред здоровью сайта. Не устанавливать никому, пока не исправят ошибок. Работает совершенно не правильно и при большом количестве товаров наоборот сильно тормозит сайт Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... freelancer Опубликовано: 24 июля 2013 Поделиться Опубликовано: 24 июля 2013 ..сможешь пояснить? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... markimax Опубликовано: 24 июля 2013 Поделиться Опубликовано: 24 июля 2013 Да, только что снес его у клиента, тормозил очень сильно. После сноса - сайт начал функционировать отлично. Дело в том, что когда много запросов, то в кеше собирается более 100`000 файлов, и тогда уже начинает тормозить файловая система сервера (причем конкретно) :) Надо запросы кеша обьединить в один файл массив кеш запросов, по каким-то признакам. Далее, при включенном драйвере кеша, иногда не получается в админ части даже удалить модуль, через раз. Т.е. надо зайти очистить кеш а только потом удалять, но это еще не все. Все равно имеет место неправильное кеширование, из-за чего например параметры settings не удаляются и т п Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... RGB Опубликовано: 24 июля 2013 Поделиться Опубликовано: 24 июля 2013 Не знаю насчет mysql_cached, но memcache прекрасно работает и заметно ускоряет работу сайта Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... freelancer Опубликовано: 24 июля 2013 Поделиться Опубликовано: 24 июля 2013 (изменено) markimax, если товаров много, это понятно ФС начинает тупить, а если прикрутить memcache ? или если использовать когда товаров не так много? ведь по сути результат любого запроса читается, даже с диска за тысячные секунды в своё время так же отключал этот скрипт из-за тормозов ФС на большой базе. Изменено 24 июля 2013 пользователем freelancer Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 Вперёд Страница 1 из 3 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Модули и дополнения Другие дополнения Кэширование через memcached и драйвер mysql_cached Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
UncleAndy Опубликовано: 8 марта 2011 Автор Поделиться Опубликовано: 8 марта 2011 Я сейчас контактирую с разработчиками. Вполне вероятно, что в районе версии 1.5.1 эти изменения войдут в основную ветку. Возможно, вместе с драйвером для Postgresql. :) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
UncleAndy Опубликовано: 8 марта 2011 Автор Поделиться Опубликовано: 8 марта 2011 Имя файла: Драйвер БД Mysql с кэшированием запросов Владелец файла: UncleAndy Файл размещен: 08 марта 2011 Категория файла: Прочее Дополнительный драйвер БД для Mysql, в котором происходит кэширование всех SELECT запросов. Время кэширования SQL запросов в секундах задается в config.php: define('DB_DRIVER', 'mysql_cached'); define('DB_CACHED_EXPIRE', 120); Нажмите сюда, чтобы скачать этот файл Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
monax Опубликовано: 10 марта 2011 Поделиться Опубликовано: 10 марта 2011 А можно для тех, кто не понимает с полуслова, написать в двух словах инструкцию, как сие чудо приспособить к скрипту? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
UncleAndy Опубликовано: 10 марта 2011 Автор Поделиться Опубликовано: 10 марта 2011 Для драйвера БД mysql_cached: 1. Ложите файл mysql_cached.php в каталог system/database/. 2. В корне магазина в файле config.php меняете строку define('DB_DRIVER', 'mysql'); на define('DB_DRIVER', 'mysql_cached'); и добавляете define('DB_CACHED_EXPIRE', 120); НЕ рекомендую ставить этот драйвер в конфигурации админки. Т.к. в админку НЕ встроены средства сброса кэша и это чревато различными "глюками". Для новой библиотеки кэширования: 1. Берете файл cache.php и перезаписываете им файл system/library/cache.php. Эта процедура не нарушит работу сайта - будет использоватся обычный файловый кэшь. 2. Устанавливаете в системе (или на другом сервере) сервер memcached и запускаете его. Это делается просто - без каких-то особенностей. Единственное, что если будете использовать кэширование в memcached совместно с mysql_cached, скорей всего в конфиге memcached нужно будет увеличить размер используемой памяти. На CentOS, например, после установки выделяется 65 Мб. 2. Идете в корень магазина и текстовым редактором дописываете в config.php строки конфигурации (с параметрами своего memcached сервера): define('CACHE_DRIVER', 'memcached'); define('MEMCACHE_HOSTNAME', 'localhost'); define('MEMCACHE_PORT', '11211'); define('MEMCACHE_NAMESPACE', 'opencart_test'); Рекомендую эти-же параметры прописать в файле конфигурации админки - admin/config.php. Сейчас это не очень принципиально, но, надеюсь, в будущем в админке добавяться опции управления кэшем. Параметр MEMCACHE_NAMESPACE нужен для варианта когда одним сервером memcached будут пользоваться разные магазины - для разделения их кэшей. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
UncleAndy Опубликовано: 10 марта 2011 Автор Поделиться Опубликовано: 10 марта 2011 Добавил описание установки на страницы модулей. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
monax Опубликовано: 30 марта 2011 Поделиться Опубликовано: 30 марта 2011 Спешу поделиться кучей впечатлений от использования сего драйвера (mysql_cached.php). Скачал, установил. И начались чудеса. Во-первых, втрое увеличилось время реагирования на клик. Если раньше, после клика на любой линк, картинку и т.п. он открывался в течении 1 секунды, то после установки этого драйвера стало жутко тормозить. Кликаю на ссылку, проходит не меньше 3 секунд и только тогда открывается новая страница. Я уж было начал грешить на кучу джавовских кодов, которые понатыканы в скрипте Опенкарта, плюс я там подоставлял ещё... Но раньше-то открывалось втрое быстрее!!! Но это ещё не все чудеса... Поменял в админке текст в новостях и ещё названия нескольких категорий поменял. Обновляю сайт - ничего не изменилось (текст не поменялся, категории - тоже). Помня, что, как говорится "вас предупреждалось", что с этим драйвером такое возможно, подождал пять минут. Обновил сайт. Ничего не изменилось. Подождал ещё 5 минут. Обновил. Всё по-старому. Надоело ждать, снёс его, нафиг... А теперь вопрос. А файле стоит время кеширования - 120 секунд. Т.е., 2 минуты. Почему у меня и за 10 минут ничего не изменилось? И почему драйвер так мощно тормозит сайт? Насколько я понял, он должен не тормозить, а ускорить работу? Или я что-то не так понял? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
UncleAndy Опубликовано: 30 марта 2011 Автор Поделиться Опубликовано: 30 марта 2011 При использовании файлового кэша результат не однозначен. Улучшение может быть если использовать memcached. В принципе, драйвер и писался в расчете на это. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
karapuzam Опубликовано: 31 мая 2011 Поделиться Опубликовано: 31 мая 2011 версия 0.2.0 изменения внесены - установлены доп. модули. сайт на хостинге. ошибка в журнале: 2011-05-30 0:10:59 - PHP Warning: file_get_contents(/system/cache/cache.sql_75830e0454c7be0b20d6da68f8fc3b96.1306699858) [<a href='function.file-get-contents'>function.file-get-contents</a>]: failed to open stream: No such file or directory in /system/library/cache.php on line 52 Может я что-то не так сделал при установке? Где копать проблему, подскажите пожалуйста... Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
UncleAndy Опубликовано: 31 мая 2011 Автор Поделиться Опубликовано: 31 мая 2011 ошибка в журнале: 2011-05-30 0:10:59 - PHP Warning: file_get_contents(/system/cache/cache.sql_75830e0454c7be0b20d6da68f8fc3b96.1306699858) [<a href='function.file-get-contents'>function.file-get-contents</a>]: failed to open stream: No such file or directory in /system/library/cache.php on line 52 Может я что-то не так сделал при установке? Где копать проблему, подскажите пожалуйста... Пути проверте. Явно неправильно задан каталог для хранения кэша в виде файлов. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
afwollis Опубликовано: 1 июня 2011 Поделиться Опубликовано: 1 июня 2011 UncleAndy, вам не кажется, что ошибок было бы больше :huh: , если бы неправильно был задан каталог для хранения кэша? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Sammy95 Опубликовано: 1 июня 2011 Поделиться Опубликовано: 1 июня 2011 2011-05-30 0:10:59 - PHP Warning: file_get_contents(/system/cache/cache.sql_75830e0454c7be0b20d6da68f8fc3b96.1306699858) [<a href='function.file-get-contents'>function.file-get-contents</a>]: failed to open stream: No such file or directory in /system/library/cache.php on line 52Эта строка появилась в ревизии 69.Скорее всего файл успел удалиться к тому времени, как его попытались прочитать. Надо переписать как-то так: if ($files && $cache = @file_get_contents($files[0])) return unserialize($cache); } 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... karapuzam Опубликовано: 1 июня 2011 Поделиться Опубликовано: 1 июня 2011 У Вас ошибочка в код закралась небольшая в виде знака & Сделал чуток по-другому: public function get($key) { if (($this->cachedriver == 'memcached') && $this->ismemcache) { return($this->memcache->get(MEMCACHE_NAMESPACE . $key, 0)); } else { $files = glob(DIR_CACHE . 'cache.' . $key . '.*'); if ($files && ($cache = file_get_contents($files[0]))) { return unserialize($cache); } } } Но всё равно спасибо) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... UncleAndy Опубликовано: 1 июня 2011 Автор Поделиться Опубликовано: 1 июня 2011 У Вас ошибочка в код закралась небольшая в виде знака &Можно подробнее - где именно? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Sammy95 Опубликовано: 1 июня 2011 Поделиться Опубликовано: 1 июня 2011 А, ну да, && выполняется раньше чем =, так что надо взять в скобки часть выражения: $cache = file_get_contents($files[0])ну или заменить && на andkarapuzam: а вот собаку (@) перед file_get_contents вы зря убрали, без неё ошибка всё-равно будет генерироваться. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 8 месяцев спустя... furnaslives Опубликовано: 2 февраля 2012 Поделиться Опубликовано: 2 февраля 2012 Для сброса всего SQL кэша можно поместить текущее время time() в кэшь с ключем "sql_globalresetcache". Подскажите как это правильно сделать? Что и куда дописать? Нужно, чтобы все файлы кеша, которые начинаются на "cache.sql_", удалялись через определенный промежуток времени. Либо же, что еще лучше - при достижении количества в 1000 файлов, начинающихся на "cache.sql_" Как это сделать? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 1 месяц спустя... fjeka Опубликовано: 18 марта 2012 Поделиться Опубликовано: 18 марта 2012 А чем отличаются файлы на этой странице и на этой http://opencartforum...__fromsearch__1 ? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 3 месяца спустя... fob Опубликовано: 27 июня 2012 Поделиться Опубликовано: 27 июня 2012 Notice: Use of undefined constant CACHE_DRIVER - assumed 'CACHE_DRIVER' in /var/www/system/library/cache.php on line 10Notice: Use of undefined constant CACHE_DRIVER - assumed 'CACHE_DRIVER' in /var/www/system/library/cache.php on line 39Notice: Use of undefined constant CACHE_DRIVER - assumed 'CACHE_DRIVER' in /var/www/system/library/cache.php on line 39 Странно почему то не сработало... Кстати нет ли возможности сделать еще один вид кеширования для APC у меня почему то оно не сработало public function get($key) { if (extension_loaded('apc')) { return apc_fetch(HTTP_SERVER.$key); } else { // old get code goes here } }[/b] [b] public function set($key, $value) { if (extension_loaded('apc')) { apc_store(HTTP_SERVER.$key,$value,600); } else { // old set code goes here } }[/b] [b] public function delete($key) { if (extension_loaded('apc')) { apc_delete(HTTP_SERVER.$key); } else { // old delete code goes here } }[/b] [b] Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 9 месяцев спустя... avtozakup Опубликовано: 11 апреля 2013 Поделиться Опубликовано: 11 апреля 2013 Народ так что стоит не стоит танцы с бубнами проводить и ставить memcashe? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... 3 месяца спустя... markimax Опубликовано: 24 июля 2013 Поделиться Опубликовано: 24 июля 2013 Установка mysql_cached вред здоровью сайта. Не устанавливать никому, пока не исправят ошибок. Работает совершенно не правильно и при большом количестве товаров наоборот сильно тормозит сайт Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... freelancer Опубликовано: 24 июля 2013 Поделиться Опубликовано: 24 июля 2013 ..сможешь пояснить? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... markimax Опубликовано: 24 июля 2013 Поделиться Опубликовано: 24 июля 2013 Да, только что снес его у клиента, тормозил очень сильно. После сноса - сайт начал функционировать отлично. Дело в том, что когда много запросов, то в кеше собирается более 100`000 файлов, и тогда уже начинает тормозить файловая система сервера (причем конкретно) :) Надо запросы кеша обьединить в один файл массив кеш запросов, по каким-то признакам. Далее, при включенном драйвере кеша, иногда не получается в админ части даже удалить модуль, через раз. Т.е. надо зайти очистить кеш а только потом удалять, но это еще не все. Все равно имеет место неправильное кеширование, из-за чего например параметры settings не удаляются и т п Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... RGB Опубликовано: 24 июля 2013 Поделиться Опубликовано: 24 июля 2013 Не знаю насчет mysql_cached, но memcache прекрасно работает и заметно ускоряет работу сайта Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... freelancer Опубликовано: 24 июля 2013 Поделиться Опубликовано: 24 июля 2013 (изменено) markimax, если товаров много, это понятно ФС начинает тупить, а если прикрутить memcache ? или если использовать когда товаров не так много? ведь по сути результат любого запроса читается, даже с диска за тысячные секунды в своё время так же отключал этот скрипт из-за тормозов ФС на большой базе. Изменено 24 июля 2013 пользователем freelancer Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 Вперёд Страница 1 из 3 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Модули и дополнения Другие дополнения Кэширование через memcached и драйвер mysql_cached Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
Sammy95 Опубликовано: 1 июня 2011 Поделиться Опубликовано: 1 июня 2011 2011-05-30 0:10:59 - PHP Warning: file_get_contents(/system/cache/cache.sql_75830e0454c7be0b20d6da68f8fc3b96.1306699858) [<a href='function.file-get-contents'>function.file-get-contents</a>]: failed to open stream: No such file or directory in /system/library/cache.php on line 52Эта строка появилась в ревизии 69.Скорее всего файл успел удалиться к тому времени, как его попытались прочитать. Надо переписать как-то так: if ($files && $cache = @file_get_contents($files[0])) return unserialize($cache); } 1 Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
karapuzam Опубликовано: 1 июня 2011 Поделиться Опубликовано: 1 июня 2011 У Вас ошибочка в код закралась небольшая в виде знака & Сделал чуток по-другому: public function get($key) { if (($this->cachedriver == 'memcached') && $this->ismemcache) { return($this->memcache->get(MEMCACHE_NAMESPACE . $key, 0)); } else { $files = glob(DIR_CACHE . 'cache.' . $key . '.*'); if ($files && ($cache = file_get_contents($files[0]))) { return unserialize($cache); } } } Но всё равно спасибо) Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
UncleAndy Опубликовано: 1 июня 2011 Автор Поделиться Опубликовано: 1 июня 2011 У Вас ошибочка в код закралась небольшая в виде знака &Можно подробнее - где именно? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
Sammy95 Опубликовано: 1 июня 2011 Поделиться Опубликовано: 1 июня 2011 А, ну да, && выполняется раньше чем =, так что надо взять в скобки часть выражения: $cache = file_get_contents($files[0])ну или заменить && на andkarapuzam: а вот собаку (@) перед file_get_contents вы зря убрали, без неё ошибка всё-равно будет генерироваться. Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
furnaslives Опубликовано: 2 февраля 2012 Поделиться Опубликовано: 2 февраля 2012 Для сброса всего SQL кэша можно поместить текущее время time() в кэшь с ключем "sql_globalresetcache". Подскажите как это правильно сделать? Что и куда дописать? Нужно, чтобы все файлы кеша, которые начинаются на "cache.sql_", удалялись через определенный промежуток времени. Либо же, что еще лучше - при достижении количества в 1000 файлов, начинающихся на "cache.sql_" Как это сделать? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
fjeka Опубликовано: 18 марта 2012 Поделиться Опубликовано: 18 марта 2012 А чем отличаются файлы на этой странице и на этой http://opencartforum...__fromsearch__1 ? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
fob Опубликовано: 27 июня 2012 Поделиться Опубликовано: 27 июня 2012 Notice: Use of undefined constant CACHE_DRIVER - assumed 'CACHE_DRIVER' in /var/www/system/library/cache.php on line 10Notice: Use of undefined constant CACHE_DRIVER - assumed 'CACHE_DRIVER' in /var/www/system/library/cache.php on line 39Notice: Use of undefined constant CACHE_DRIVER - assumed 'CACHE_DRIVER' in /var/www/system/library/cache.php on line 39 Странно почему то не сработало... Кстати нет ли возможности сделать еще один вид кеширования для APC у меня почему то оно не сработало public function get($key) { if (extension_loaded('apc')) { return apc_fetch(HTTP_SERVER.$key); } else { // old get code goes here } }[/b] [b] public function set($key, $value) { if (extension_loaded('apc')) { apc_store(HTTP_SERVER.$key,$value,600); } else { // old set code goes here } }[/b] [b] public function delete($key) { if (extension_loaded('apc')) { apc_delete(HTTP_SERVER.$key); } else { // old delete code goes here } }[/b] [b] Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
avtozakup Опубликовано: 11 апреля 2013 Поделиться Опубликовано: 11 апреля 2013 Народ так что стоит не стоит танцы с бубнами проводить и ставить memcashe? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться...
markimax Опубликовано: 24 июля 2013 Поделиться Опубликовано: 24 июля 2013 Установка mysql_cached вред здоровью сайта. Не устанавливать никому, пока не исправят ошибок. Работает совершенно не правильно и при большом количестве товаров наоборот сильно тормозит сайт Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... freelancer Опубликовано: 24 июля 2013 Поделиться Опубликовано: 24 июля 2013 ..сможешь пояснить? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... markimax Опубликовано: 24 июля 2013 Поделиться Опубликовано: 24 июля 2013 Да, только что снес его у клиента, тормозил очень сильно. После сноса - сайт начал функционировать отлично. Дело в том, что когда много запросов, то в кеше собирается более 100`000 файлов, и тогда уже начинает тормозить файловая система сервера (причем конкретно) :) Надо запросы кеша обьединить в один файл массив кеш запросов, по каким-то признакам. Далее, при включенном драйвере кеша, иногда не получается в админ части даже удалить модуль, через раз. Т.е. надо зайти очистить кеш а только потом удалять, но это еще не все. Все равно имеет место неправильное кеширование, из-за чего например параметры settings не удаляются и т п Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... RGB Опубликовано: 24 июля 2013 Поделиться Опубликовано: 24 июля 2013 Не знаю насчет mysql_cached, но memcache прекрасно работает и заметно ускоряет работу сайта Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... freelancer Опубликовано: 24 июля 2013 Поделиться Опубликовано: 24 июля 2013 (изменено) markimax, если товаров много, это понятно ФС начинает тупить, а если прикрутить memcache ? или если использовать когда товаров не так много? ведь по сути результат любого запроса читается, даже с диска за тысячные секунды в своё время так же отключал этот скрипт из-за тормозов ФС на большой базе. Изменено 24 июля 2013 пользователем freelancer Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 Вперёд Страница 1 из 3 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Модули и дополнения Другие дополнения Кэширование через memcached и драйвер mysql_cached Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha × Уже зарегистрированы? Войти Регистрация Раздел покупок Назад Приобретенные дополнения Ваши счета Список желаний Альтернативные контакты Форум Новости ocStore Назад Официальный сайт Демо ocStore 3.0.3.2 Демо ocStore 2.3.0.2.4 Скачать ocStore Документация История версий ocStore Блоги Модули Шаблоны Назад Бесплатные шаблоны Платные шаблоны Где покупать модули? Услуги FAQ OpenCart.Pro Назад Демо Купить Сравнение × Создать... Важная информация На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности. Я принимаю
freelancer Опубликовано: 24 июля 2013 Поделиться Опубликовано: 24 июля 2013 ..сможешь пояснить? Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... markimax Опубликовано: 24 июля 2013 Поделиться Опубликовано: 24 июля 2013 Да, только что снес его у клиента, тормозил очень сильно. После сноса - сайт начал функционировать отлично. Дело в том, что когда много запросов, то в кеше собирается более 100`000 файлов, и тогда уже начинает тормозить файловая система сервера (причем конкретно) :) Надо запросы кеша обьединить в один файл массив кеш запросов, по каким-то признакам. Далее, при включенном драйвере кеша, иногда не получается в админ части даже удалить модуль, через раз. Т.е. надо зайти очистить кеш а только потом удалять, но это еще не все. Все равно имеет место неправильное кеширование, из-за чего например параметры settings не удаляются и т п Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... RGB Опубликовано: 24 июля 2013 Поделиться Опубликовано: 24 июля 2013 Не знаю насчет mysql_cached, но memcache прекрасно работает и заметно ускоряет работу сайта Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... freelancer Опубликовано: 24 июля 2013 Поделиться Опубликовано: 24 июля 2013 (изменено) markimax, если товаров много, это понятно ФС начинает тупить, а если прикрутить memcache ? или если использовать когда товаров не так много? ведь по сути результат любого запроса читается, даже с диска за тысячные секунды в своё время так же отключал этот скрипт из-за тормозов ФС на большой базе. Изменено 24 июля 2013 пользователем freelancer Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 Вперёд Страница 1 из 3 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Модули и дополнения Другие дополнения Кэширование через memcached и драйвер mysql_cached Покупцям Оплата розширень фізичними особами Оплата розширень юридичними особами Політика повернень Розробникам Регламент розміщення розширень Регламент продажу та підтримки розширень Віртуальний обліковий запис автора Політика просування оголошень API каталогу розширень Вирішення спорів щодо авторських прав Корисна інформація Публічна оферта Політика повернень Політика конфіденційності Платіжна політика Політика передачі особистих даних Політика прозорості Останні розширення Deals – адаптивный универсальный шаблон Автор: octemplates Динамичесткая инфострока в шапке + позиция в макете для opencart\ocstore 2x, 3x Автор: Lito911 Единицы Измерения Товара Автор: RoS Opencart Product Search by Image Автор: slavoglo Простой массовый редактор цен. Fast Price Edit Автор: Sha
markimax Опубликовано: 24 июля 2013 Поделиться Опубликовано: 24 июля 2013 Да, только что снес его у клиента, тормозил очень сильно. После сноса - сайт начал функционировать отлично. Дело в том, что когда много запросов, то в кеше собирается более 100`000 файлов, и тогда уже начинает тормозить файловая система сервера (причем конкретно) :) Надо запросы кеша обьединить в один файл массив кеш запросов, по каким-то признакам. Далее, при включенном драйвере кеша, иногда не получается в админ части даже удалить модуль, через раз. Т.е. надо зайти очистить кеш а только потом удалять, но это еще не все. Все равно имеет место неправильное кеширование, из-за чего например параметры settings не удаляются и т п Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... RGB Опубликовано: 24 июля 2013 Поделиться Опубликовано: 24 июля 2013 Не знаю насчет mysql_cached, но memcache прекрасно работает и заметно ускоряет работу сайта Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... freelancer Опубликовано: 24 июля 2013 Поделиться Опубликовано: 24 июля 2013 (изменено) markimax, если товаров много, это понятно ФС начинает тупить, а если прикрутить memcache ? или если использовать когда товаров не так много? ведь по сути результат любого запроса читается, даже с диска за тысячные секунды в своё время так же отключал этот скрипт из-за тормозов ФС на большой базе. Изменено 24 июля 2013 пользователем freelancer Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 Вперёд Страница 1 из 3 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу. Последние темы Последние дополнения Последние новости Вся активность Главная Поддержка и ответы на вопросы Модули и дополнения Другие дополнения Кэширование через memcached и драйвер mysql_cached
RGB Опубликовано: 24 июля 2013 Поделиться Опубликовано: 24 июля 2013 Не знаю насчет mysql_cached, но memcache прекрасно работает и заметно ускоряет работу сайта Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... freelancer Опубликовано: 24 июля 2013 Поделиться Опубликовано: 24 июля 2013 (изменено) markimax, если товаров много, это понятно ФС начинает тупить, а если прикрутить memcache ? или если использовать когда товаров не так много? ведь по сути результат любого запроса читается, даже с диска за тысячные секунды в своё время так же отключал этот скрипт из-за тормозов ФС на большой базе. Изменено 24 июля 2013 пользователем freelancer Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 Вперёд Страница 1 из 3 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0 Перейти к списку тем Сейчас на странице 0 пользователей Нет пользователей, просматривающих эту страницу.
freelancer Опубликовано: 24 июля 2013 Поделиться Опубликовано: 24 июля 2013 (изменено) markimax, если товаров много, это понятно ФС начинает тупить, а если прикрутить memcache ? или если использовать когда товаров не так много? ведь по сути результат любого запроса читается, даже с диска за тысячные секунды в своё время так же отключал этот скрипт из-за тормозов ФС на большой базе. Изменено 24 июля 2013 пользователем freelancer Ссылка на комментарий Поделиться на других сайтах Больше способов поделиться... Назад 1 2 3 Вперёд Страница 1 из 3 Создайте аккаунт или войдите в него для комментирования Вы должны быть пользователем, чтобы оставить комментарий Создать аккаунт Зарегистрируйтесь для получения аккаунта. Это просто! Зарегистрировать аккаунт Войти Уже зарегистрированы? Войдите здесь. Войти сейчас Поделиться Больше способов поделиться... Подписчики 0
Рекомендованные сообщения