Ibexa DXP provides advanced caching features needed for its own content views, to make Varnish and Fastly act as the view cache for the system. This and other features allow Ibexa DXP to be scaled up to serve high traffic websites and applications.
HTTP cache is handled by the ibexa/http-cache bundle, which extends friendsofsymfony/http-cache-bundle, a Symfony community bundle that in turn extends Symfony HTTP cache.
For content view responses coming from Ibexa DXP itself, this means that:
- Cache is content-aware, always kept up-to-date by invalidating using cache tags.
- Cache is context-aware, to cache request for logged-in users by varying on user permissions.
All of this works across all the supported reverse proxies:
- Symfony HttpCache Proxy - limited to a single server, and with limited performance/features
- Varnish - high performance reverse proxy
- Fastly - Varnish-based CDN service
You can use all these features in custom controllers as well.