Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

Запретить cache (кэширование)


boomfox
 Поделиться

Рекомендованные сообщения

Здравствуйте, может быть и поднималась данная тема, но перерыл весь форум и не нашел. Подскажите просто и ясно, как можно запретить сайту брать информацию с кэша (cache), чтобы он брал все с базы данных. Чтобы не ставить этот vqmod, потому что не разобрался как его ставить. Будьте добры, просто напишите или код, или что удалить, или что поменять, чтобы сайт не брал кэш для создания страниц сайта. Заранее спасибо.

Ссылка на комментарий
Поделиться на других сайтах


Проблема в том, что я постоянно добавляю товар в 25 магазинов используя центральный (соединил все) и товар не появляется на других движках, пока я не удалю файлы из папки кэш. Тогда зачем он нужен мне? Конечно, если есть другой способ это исправить, то прошу Вас мне его рассказать.

Ссылка на комментарий
Поделиться на других сайтах


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

Ссылка на комментарий
Поделиться на других сайтах

кеш для продукта не зависит от кол-ва магазинов, удаляется при добавлении

admin/model/catalog/product.php

99		$this->cache->delete('product');

Ссылка на комментарий
Поделиться на других сайтах

Кстати, если подумать, то данный файл может использоваться только если я в этом самом домене делаю изменения в админке (добавляю товар). Другими словами, если я добавляю товар только во все магазины из одной админки, то кэш чистится только в одном магазине, как он может чиститься во всех 25-ти магазинах? Чтобы он там чистился, получается нужно в каждой админке делать изменения. Или я не прав?

Ведь у нас общая только база данных, но сами cms то у нас разные. Я делаю изменения только в базе данных и только через одну админку а не через все, соответственно admin/model/catalog/product.php будет менять только в одной админке а не во всех. Поэтому и получается, что когда я добавляю товар на все магазины, то он появляется только в том магазине, через который я добавляю на все. Думаю понятно объяснил. Поэтому, нужно на каждой cms просто отключить или запретить возможность брать информацию из кэш, а напрямую через БД.

Ссылка на комментарий
Поделиться на других сайтах


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

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

oc_0_20_disable_cache.zip

Ссылка на комментарий
Поделиться на других сайтах

О, супер, спасибо большое. Значит для тех кто не понял, как остановить, запретить, кэш, кеширование, cache на opencart:

Скачиваем Файл выше, это патч, скачиваем программу, которая открывает его, (с помощью этой программы патч быстро меняет в многих файлах нужные строки кода) в результате чего .можно файлы заливать себе на сайт, и кэш не будет работать. Это как я понял ))

Ссылка на комментарий
Поделиться на других сайтах


Решили одну проблему, появилась другая, теперь что делать, чтобы фотографии с одного места читались? Короче фотографии загружаются на одну cms а ссылки ставятся на каждом cms на свои папки image, я правил в config, но ничего не помогло.

Ссылка на комментарий
Поделиться на других сайтах


Да... уж... лёгких путей не ищем.

freelancer я поражен твоим мастерством всё ставить с ног на голову... Этож надо было додуматься исправить 24 файла....

boomfox неужели так критично что-бы новые товары появлялись на сайтах моментально?

Время жизни кеша - 1 час, и новые товары появятся во всех магазинах не позднее чем через час.

Или у тебя посещаемость такая что за час теряеш продажи?

Если 1 час всё таки очень долго - уменьш время жизни кеша до 10-15 минут.

В файле system/library/cache.php найди строку

private $expire = 3600;
вместо 3600 напиши 900 или 600 (это время жизни кеша в секундах)

Ну а если тебе действительно надо отрубить кеш - то это делается без тех извратов которые тебе предложили

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

Так что лучше сделать так:

В файле system/library/cache.php ищеш строки которые начинаются с

public function ......
таких строк там 4

После каждой найденной строки добавь строку

return;
всё... раз уж кеш не используем - то и файловую систему дергать смысла нет...

Если захочеш включить кеш - то гораздо проще восстановить один файл, а не 24.

Ссылка на комментарий
Поделиться на других сайтах

Буквально 10 минут назад заметил private $expire = 3600; и поставил 60 ))))) Спасибо большое, теперь еще вопрос по фотографиям, тут что-то не так у меня, на главной cms добавляется, а на других нет, что делать?

Ссылка на комментарий
Поделиться на других сайтах


Буквально 10 минут назад заметил private $expire = 3600; и поставил 60

Если у тебя посещаемость не очень большая - то лучше отрубить кеш как я описывал.

Смотри что будет происходить: сделали запись в кеш, а следующий запрос пришел через 61 секунду... кеш прочитали, а он протухший и пошли в базу за данными.

Промахов будет очень много... смысла нет в таком кеше - это сплошные тормоза.

Ссылка на комментарий
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.