eZ Platform 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 eZ Platform to be scaled up to serve high traffic websites and applications.
HTTP cache is handled by the ezplatform-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 eZ Platform 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.