как НЕ кешировать блок?

Прислано: Fil

ср, 05/09/2007 - 19:38

Написал небольшой модуль, который выволит инфу в блок.Информация в блоке переодически меняется (её подгружает модуль). Возникла проблема с обновлением блока. На сайте включен режим кеширования "нормальный". и из-за этого информация очень долго необновляется в блоке. как запретить кешировать данный конкретный блок? (может какая-то функция в модуле дополнительно нужна)???

Комментарии


Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Применить"
Опубликовано igdrasil@drupal.org в ср, 05/09/2007 - 19:51.

посмотрите функцию cache_clear_all


Опубликовано Fil в ср, 05/09/2007 - 19:58.

К сожалению с английским большие проблемы. Но я так понял там работа с кешем БД. в моём модуле нет запросов в БД. Или я что-то нетак понял?


Опубликовано igdrasil@drupal.org в ср, 05/09/2007 - 20:37.

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


Опубликовано Fil в ср, 05/09/2007 - 21:12.

Спасибо за подсказку, буду пробовать.


Опубликовано edhel в ср, 05/09/2007 - 23:33.

я делал так в подобных случаях:
1) вешал хуки и очищал кэш при определенных событиях (например, размещение комментария)
2) делал страничку /cache с кодом пхп, которая очищает буфер. нужно вручную очищать иногда (например, если изменил модуль или перевод).


Опубликовано Гость (гостевой логин) в чт, 06/09/2007 - 06:59.

Почему у меня страницы не обновляются сразу, надо делать рефреш, хотя в настройках кэш отключен полностью.


Опубликовано Fil в чт, 06/09/2007 - 15:28.

ДА, cache_clear_all решает проблему! респект! Зафиналил первую бету модуля :))


Опубликовано B.X в пн, 10/09/2007 - 09:22.

как я понял, достаточно в крон добавить:

// Clear all expired pages;
cache_clear_all();

Хотя, лучше это отдельным процессом сделать, у крон.пхп свои задачи...
а модуль это интересно, в принципе, есть http://drupal.org/project/cacheclear

но он для 4.7, а где бета модуля-то? поделитесь адреском...


Опубликовано Fil в вт, 11/09/2007 - 05:48.

да дело в том, что модуль заточен под локальную сеть конкретную и врядли будет интересен широким массам. если в общих чертах , то основная часть модуля - это специфический XML парсер, выводящий полученые данные в блок...


Опубликовано seaji в вт, 02/09/2008 - 21:09.

Простите за глупый вопрос, а зачем вообще кеш если его постоянно сбрасывать?
У Вас блок меняется на каждой странице? Значит кеш будет сбрасываться на каждой странице.


Опубликовано krock в ср, 01/12/2010 - 01:51.

Действительно, странно! Не используйте эту функцию, а то нагрузка на сервер будет большая.


Опубликовано Mirocow в ср, 01/12/2010 - 02:02.

используйте для вывода блока или JS или SSI


Ссылки партнёров