Форумы / National / Russian / Идеи / Кэширование и динамически-изменяемые данные

Как своевременно обновлять информацию, входящую в структуру кэшшируемых данных.

Uch
#1 08.04.2013 08:27

Допустим в каком то разделе сайта (как правило на главной странице) в большом количестве выводятся списки страниц, комментариев, тем или сообщений форума, опросов с указанием динамически-изменяемой информации для каждой строки каждого списка. Например, для списка страниц - кол-во комментариев, для списков тем форума - кол-во сообщений в теме, для списков опросов - кол-во проголосовавших. Т.к. списков много, много и запросов к SQL-серверу и единственным решением оптимизировать нагрузку на хостинг и уменьшить время генерации страницы является кэширование выводимой информации. Но в этом случае возникает временной лаг между обновлением динамической информации, равный времени кэшширования. Т.е. при добавлении или удаленнии комменатрия к странице общее их число в кэшшируемом списке будет оставаться прежним до обновления кэша. Одновременно, чем дольше кэшшируется информация, тем меньше нагрузка на сервер. 

Можно при обновлении информации очищать кэш, но это решение ИМХО грубовато. Нет ли более эллегантного решения этой проблемы?

Alex300
#2 08.04.2013 11:02

Кеш страницы и кеш главной страницы сбрасывается при добавлении нового коммента. Вернее это планируется при выходе следующей версии сиены.

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

https://github.com/Cotonti/Cotonti/issues/1184

 

Есть миры, не здесь, там, где небеса горят, и моря засыпают, и реки дремлют; люди сделаны из дыма, а города – из песен. Где-то опасность, где-то несправедливость, даже где-то остыл чай. Идем Эйс, у нас много работы!...
...Sorry for my english...
Бесплатные расширения для Cotonti: https://lily-software.com/free-scripts/