Лак ESI несколько фрагментов, один запрос? - PullRequest
1 голос
/ 02 сентября 2011

Мне поручено улучшить время показа страниц для довольно большого развертывания WordPress для нескольких сайтов.

Я рассматриваю возможность использования лака для полного кэширования страниц и возможности ESI включать динамическое содержимое, связанное с состоянием пользователя, вошедшего в систему, а также обрабатывать аннулирование кэша в приложении с помощью списка очистки лакакоторые соответствуют настраиваемому заголовку идентификатора блога или некоторым другим настраиваемым заголовкам, содержащим идентификаторы статей и / или идентификаторы пользователей.

Я хотел бы знать, если бы кто-нибудь когда-нибудь предполагал способ включения нескольких фрагментов страницы через ESI при группировкеих в одном ответе от бэкэнда (например, мы должны отобразить имя пользователя в меню и пользовательский виджет пользователя на боковой панели, остальная часть страницы является статической и кэшируется лаком. ESI требует, чтобы я сделал два запроса кбэкэнд для извлечения двух фрагментов и размещения их в нужном месте, в то время как на бэкенде я мог легко сгенерировать HTML-код для обоих за один прогон и вернуть его для обработки)

1 Ответ

0 голосов
/ 15 октября 2011

Как насчет того, чтобы ESI возвращал фрагменты HTML в одном запросе и включал в себя некоторую логику Javascript, которая запускает для размещения различных строк HTML в соответствующих местах?Немного странно, но это решает вашу проблему и не должно быть очень трудным для реализации.

Другой вариант с меньшим количеством движущихся частей - это группировать все фрагменты HTML, которые вы получите через ESI, навыделите одну точку на странице, скажем низ, а затем используйте CSS, чтобы расположить их абсолютно так, как вы хотите на странице.

...