2015-04-15 3 views
2

Несколько доменов указывали на то же Symfony2 REST API бэкэндом:Invalidate Symfony2 HttpCache между доменами

  • example.com/api/post/abc
  • embed.example.com/api/post/abc
  • whitelabeled.com/api/post/abc

Цель состоит в том, чтобы иметь один и тот же ответ на все домены при использовании Symfony HttpCache. Это верно для начального запроса GET.

Однако, когда я отправляю PUT запрос на example.com/api/post/abc, Symfony автоматически аннулирует этот маршрут для домена example.com. Но это не делает недействительным маршрут для других доменов. Теперь, когда я GET запрос я оставил с:

  • example.com/api/post/abc - ответ с последними данными
  • embed.example.com/api/post/abc - Старый кэшированные ответа
  • whitelabeled.com/api/post/abc - Старый кэшированные ответа

Каков путь автоматически аннулировать ответ во всех существующих доменах для определенного маршрута?

ответ

0

Я полагаю, вы можете попробовать использовать FOSHttpCacheBundle http://foshttpcachebundle.readthedocs.org/en/latest/features/invalidation.html и недействительным кэш на PUT действия контроллера через его службы

+1

Вы знаете, если это работает с Symfony HttpCache, в настоящее время он говорит Varnish и Nginx? – Websirnik

+1

Похоже, что «Symfony поставляется со встроенным обратным прокси-сервером, написанным на PHP, известным как HttpCache. Хотя он, конечно, менее эффективен, чем использование Varnish или Nginx, он все равно может обеспечить значительный прирост производительности по сравнению с установкой, которая не кэшируется при Все это может быть полезно для запуска приложения на общем хостинге (см. документацию Symfony HttpCache). Вы можете использовать функции этой библиотеки с Symfony HttpCache. Основная концепция - использовать подписчиков событий в классе HttpCache. " –

+0

http://foshttpcachebundle.readthedocs.org/ru/latest/features/symfony-http-cache.html –

Смежные вопросы