Здравствуй All!
Кто-нибудь сталкивался с проблемой в сабже?
Идея такова: чтобы не бергать постоянно базу данных, имеет смысл кешировать уже готовые страницы и выдавать их пользователю.
Пример "лента новостей".
Есть страницы
- постраничный список новостей
- список новостей с фильтрами (год, месяц, день), опять же, постраничный
- страница новости
Кешировать страницу новости просто при доступе к новости, определяется, есть ли кешированная новость, если нет, то получаем информацию из базы, генерируем и кешируем страницу.
При обновлении/удалении новости, удаляем ее кешированную страницу
Со списками уже сложнее.
Существует множество списков, куда входит новость.
Но опять же можно для каждой кешированной страницы хранить информацию о новостях, выводимых на ней и, в случае обновления одной из этих новостей, удалять кеши всех страниц, на которых эта новость присутствует.
Но что делать когда новость добавили в систему?
Как определить какие кеши нобходимо удалить?