Вы захотите подумать, ПОЧЕМУ вы хотите заняться кэшированием. Кэширование - это оптимизация, поэтому его следует выполнять только при необходимости.
Если вы не уверены, что это необходимо, вернитесь и проведите некоторое исследование, чтобы убедиться. Это будет включать тестирование производительности на оборудовании промышленного уровня в вашей тестовой лаборатории.
Если вы уверены, что это необходимо, тогда вы будете знать, сколько улучшений вам нужно. Вы можете рассмотреть кэширование только ЧАСТЕЙ страниц - это будет менее эффективно на внешнем и кэширующем уровнях, чем кэширование полных страниц, но может потребовать больше нагрузки на серверную часть, поскольку вы получите более высокую частоту обращений в кэш.
Рассмотрим страницу, которая имеет персонализированный элемент (скажем, Hello Johnnie) и часть, которая является дорогостоящей для вычисления, но изменяется относительно редко и одинакова для всех пользователей - скажем, некоторые цены на акции.
Вы можете кэшировать часть страницы с ценами на акции, скажем, в течение 5 минут, и каждый раз генерировать персонализированную часть страницы. Таким образом, вы не достигнете своей цели по ценам на акции и сможете показать нужную страницу нужным людям.
Большинство компаний считают, что создание интерфейса довольно затратно в вычислительном отношении (склеивание HTML, к сожалению, отнимает много времени), НО очень хорошо масштабируется - это означает, что вы можете просто добавить больше олова, когда оно недостаточно быстро. С другой стороны, фоновые серверы могут выполнять гораздо больше работы, но масштабироваться гораздо хуже - например, базы данных - вы не можете просто добавить больше серверов, потому что есть проблемы с согласованностью / синхронизацией, которые ограничивают масштабируемость.