Давайте представим, что у нас есть блог с категорией A
. Категория A
в настоящее время имеет 1000 сообщений на 100 страницах. Все страницы кэшируются в файлах (например, кэшируются механизмом шаблонов Smarty). Я добавляю сообщение и хочу, чтобы оно сразу отображалось на первой странице. Итак, я должен очистить или сделать недействительным кеш для всех 100 страниц категории А.
Удаление кэшированных страниц не очень хорошая идея, потому что у нас может быть слишком много файлов (например, тысячи страниц). Я считаю, что аннулирование кэша и восстановление страницы по запросу - гораздо более эффективный способ.
Моя единственная мысль - добавить number of posts in category
в кеш-идентификатор. Итак, сначала мы должны получить количество постов в категории (например, из memcache), а затем проверить, верна ли кэшированная версия по этому номеру.
Все выглядит хорошо и просто. Но давайте представим ситуацию, когда я добавляю новый пост, а затем через 1 минуту удаляю другой (более старый) пост. Количество сообщений по-прежнему составляет 1000, а некоторые страницы категорий останутся старыми (если они не просматривались в течение 1 минуты).
Какое решение?
PS: Извините за мой английский, но я думаю, что мой вопрос будет понятен людям, которые уже сталкивались с такой проблемой.
Спасибо