Summary
In this chapter, you learned about the basics of gateway and Doctrine caching. We saw how to set expiration and validation strategies using HTTP headers such as cache-control, expires, last-modified, and Etag. You learned how to set public and private access levels for a cache and use an annotation to define cache rules in the controller.
On the model layer, we studied metadata, query, and result caches and saw how to configure our project using DoctrineCacheBundle to cache database-related contents.
At the end, we saw how we can have different caching rules for the mostly static and mostly dynamic parts of any HTML page.