ESI блокирует или неблокирует?
Я планирую свою стратегию кэширования и копаюсь в ESI, чтобы посмотреть, соответствует ли она моим потребностям.
Сегодня возникли эти вопросы:
- Каждое включение выполняется последовательно или параллельно? Скажем, у меня есть 5 из них:
{% render '...' with {}, {'standalone': true} %}
, Я понимаю, что получившаяся страница должна будет подождать всех из них, но сколько времени это займет, будет ли она похожа на самое медленное из включений или будет сходна с суммой всех включений? - Если ответ "серийный", есть ли способ превратить его в параллельный?
- Мне лучше использовать Ajax для пользовательских частей сайта? В каких случаях вы бы выбрали один или другой?
1 ответ
ESI с лаком всегда выполняется в сериале. Они проделали большую работу по улучшению ESI с помощью лака 3, но все еще не изменились в этом аспекте. Я также помню, как некоторые сотрудники лака ответили, что эта функция была в их списке пожеланий, но ее было сложно реализовать.
Для создания paralell сейчас, я думаю, единственный вариант - реализовать эту функцию самостоятельно.
Что касается Ajax и ESI, я бы сказал, что точка останова идет позже, чем 5 ESI, если они могут быть быстро обработаны вашим бэкэндом. Ajax всегда имеет недостаток в том, что он плохой SEO, если он используется для контентных частей вашего сайта.