Я думаю, вы можете начать с двух вариантов:
По умолчанию вы ничего не кэшируете.
Вы можете реализовать с помощью шаблона Observer / Observable способ вызвать событие, когда представление статьи достигает порогового значения, и начать кэширование страницы.
Вы кэшируете каждую статью при создании
В обоих случаях вы можете использовать cron для очистки статей, которые не достигают определенного вами порога.
В любом случае вам, вероятно, потребуется использовать любой эвристический метод, чтобы определить достаточно рано, что ваша статья должна будет быть кэширована, и, как и в любом эвристическом методе, у вас будет ложноположительный результат и наоборот.
Это будет зависеть от того, как читается ваш контент, если статьи являются новостями в реальном времени, возможно, это будет эффективно, поскольку быстро генерирует большой трафик.
Основная проблема с этим методом заключается в том, что вам необходимо хранить дополнительную информацию, например дату и время последнего доступа, и текущие просмотры страниц, что может привести к дополнительным запросам.