как отключить кеширование php блоков? (sape)

Главные вкладки

Аватар пользователя anreyyyy anreyyyy 6 июня 2010 в 12:51

всем привет!

прикрутил сапу, но приходится раз в сутки чистить кеш, т.к. php блоки кешируются друпалом.
Block Cache Alter ставил, но не помогает, что-то...

кто-нибудь знает решение?

спасибо.

Комментарии

Аватар пользователя Sinkora Sinkora 6 июня 2010 в 18:24

Как я понимаю, у ТС включено кеширование страниц для анонимов, так? Поэтому логично, что блоки с Сапой кешируются. Вот и весь ответ.

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

Аватар пользователя anreyyyy anreyyyy 6 июня 2010 в 18:33

Sinkora
>>Как я понимаю, у ТС включено кеширование страниц для анонимов, так?
именно

>>Да, а у Вас крон настроен?
нет, а что именно нужно настроить?

Аватар пользователя Sinkora Sinkora 6 июня 2010 в 18:45

"anreyyyy" wrote:
>>Да, а у Вас крон настроен?
нет, а что именно нужно настроить?

Ну, смотрите, все просто, вы кешируете страницы для гостей полностью. А время жизни кешированных страниц Вам известно? А по крону удаляется кеш. Поэтому интеревал запуска крона влият на то, как часто будет сбрасываться кеш страниц, а как следствие - блоки буду обновляться тоже.

Вы говорите, что раз в сутки чистите кеш? Как чистите, вручную? Это можно делать по крону...

Аватар пользователя anreyyyy anreyyyy 7 июня 2010 в 14:45

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

Аватар пользователя Sinkora Sinkora 7 июня 2010 в 15:20

"anreyyyy" wrote:
1) я тут подумал, если запускать cron каждый сутки, то в таблице cache_page будут накапливаться фрагментированные данные, таблицу все равно нужно будет оптимизировать периодически (раз в неделю или раз в месяц).

Хм...
"anreyyyy" wrote:
2) сброс кеша - это замедление работы сайта, соотв. обход сайта поисковиками тоже замедляется. хотя у меня и настроен xmlsitemap. но гугл любит быстрые сайты. поэтому сбрасывать кеш раз в сутки из-за нескольких страниц - на мой взгляд это некрасивое решение.

В принципе, полностью согласен, кеш нужно сбрасывать только тогда, когда меняются данные на странице...

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

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

Аватар пользователя andypost@drupal.org andypost@drupal.org 6 июля 2010 в 2:45

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

По крону ничего не чистится, запускайте его хоть раз в 5ть минут... пока не напишете свой код по чистке.