Jan has written another great article, this time about the new cache strategies being introduced in Magnolia 3.6. Up to now Magnolia has simply flushed the cache whenever any piece of content was activated to a public site. As you can imagine, this is very safe but expensive. It is hard to know which piece of content affects which part of rendered output, since pages can dynamically retrieve content from the repositories. This is why the safest way is to simply flush all cache whenever anything is activated. This is expensive, because more often than not, most pages will not have changed.
The new cache API allows to plug in your own cache strategies. Developing custom cache implementations is something we have been doing for quite while as part of our tuning services for our Magnolia Enterprise Clients. With Magnolia 3.6, we make this easier and provide some smarter alternatives to "total flush on activation". It should be interesting to see, what ideas pop up in the near future (we already have more than we can release with 3.6), but smart caching is a pretty interesting topic, especially for those larger clients of ours that run hundreds of sites, very large sites, high traffic sites or multiple language sites. Each one of these has different requirements regarding caching, and by implementing a custom cache strategy, resources and response times can be optimized at the same time.
Enjoy the new improved caching power of Magnolia!