Здравствуйте!
Есть серьезная проблема с drupal, решение которой никак не могу найти.
Есть сайт, хорошо нагруженный, там включены memcache, boost, агрессивное кеширование и т.д.
Проблема вот в чем, когда создаешь новый материал в новостной ленте, то для залогиненного человека, который эту новость создал, её видно. Для посетителей сайта - не видно, пока кеш не сбросишь.
Вот всвязи с этим вопрос - как вообще должна себя вести функция cache_clear_all() при её вызове в node_save ?
Комментарии
В Drupal 6 у модуля Boost есть явная настройка, которая чистит Boost кэш, если был очищен обычный кэш. Если установить эту настройку, то тогда всё должно корректно работать и для авторизованных пользователей и для анонимных.
Дело в том, что кеш не чистится даже при выключенных boost и memcache модулях. Сначала думал, что проблема закралась в исходники. Откатился на полгода назад в меркуриал. Результат тот же. Докопался до того, что функция cache_clear_all() при сохранении ноды, вызываемая без параметров, не очищает то, что надо очистить. При этом, если я вручную вписываю туда нужные таблицы - все ок.
странное поведение у функции cache_clear_all(). Если вставить туда cache_clear_all('*', 'cache_page', TRUE), то кеш страниц сбрасывается. Стоит убрать TRUE или '*', уже ничего не сбрасывается. В чем может быть проблема ??
[ru-api=cache_clear_all/6]cache_clear_all[/ru-api]
Время жизни кэша установлено? Если да, то будут чиститься только устаревшие записи.