Как закешировать форум?

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

Аватар пользователя Crazyfisherman Crazyfisherman 6 декабря 2014 в 1:22

Имеется Advanced forum на друпале.
Зарегистрированные пользователи имеют прекрасную возможность видеть "Новые" (не просмотренные сообщения)

Пользователь просматривает новые сообщения/темы и флаг "новые" гасится. Все отлично.

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

Какие у кого есть практики решения этой проблемы?

Комментарии

Аватар пользователя sas@drupal.org sas@drupal.org 6 декабря 2014 в 17:24

Первый путь решения ajax, второй путь, - очистка кеша конкретных страниц при изменении информации на них, есть еще третий, вывести некоторые страницы из кеша вообще - https://www.drupal.org/project/cacheexclude

Аватар пользователя Crazyfisherman Crazyfisherman 6 декабря 2014 в 17:44

Искренне благодарю за комментарий.

«вывести некоторые страницы из кеша вообще»
Исключать страницы из кеша не вариант. Сразу нагрузка до потолка.

«Первый путь решения ajax»
AJAX-ом подгружать надпись "новые"? Я честно говоря вообще не понимаю, как друпал отслеживает, посещал я эту новую страницу или нет.

«очистка кеша конкретных страниц при изменении информации на них»
В том то и дело, что информация на странице не меняется, а пользователь лишь просматривает ее, т.е. она для него становятся не новой.
Поэтому, например, замечательный модуль views_content_cache, который сбрасывает кеш вьюса при изменениях на странице, беспомощен. Он не ловит событие, что пользователь просмотрел страницу.
Есть ли модуль, который мог бы сбрасывать кеш страницы/вьюса для зарегистрированного пользователя, в случае, если страница для него стала не новой?

Аватар пользователя shved shved 5 января 2015 в 11:38

"Crazyfisherman" wrote:
Думаю да. В том смысле, что для каждого зарегистрированного пользователя он гасит "новое" отдельно.

Так и есть. Я вот думаю может лучше убрать эту функцию, а новые сообщения смотреть только по нажатию кнопки "Новые сообщения"