This repository contains the source code developed in a series of blog posts:
Creating a Hybrid Cache System for Statamic
Part 1 of 6 covers experimenting with various cache systems, techniques, and organization of our custom cache system
Creating a Hybrid Cache System for Statamic: Part Two
Part 2 of 6 covers invalidating cached responses when template changes are detected and detecting request content dependencies, such as entries, taxonomies, and assets.
Creating a Hybrid Cache System for Statamic: Part Three
Part 3 of 6 covers managing response headers, configuring the custom cache system, and implementing mechanisms to bypass the cache entirely.
Creating a Hybrid Cache System for Statamic: Part Four
Part 4 of 6 covers implementing new features to set arbitrary expiration times from within a template and mechanisms to invalidate all cached responses at once.
Creating a Hybrid Cache System for Statamic: Part Five
Part 5 of 6 covers implementing a cache namespace and labeling system, which we can use to target multiple cache entries simultaneously for invalidation.
Creating a Hybrid Cache System for Statamic: Part Six
Part 6 of 6 covers implementing custom Artisan commands to retrieve information about our cache, invalidating responses returned from Laravel routes and controllers, excluding pages with CSRF tokens, and examples of how to integrate with third-party systems like Torchlight.
The hybrid cache code sample is free software released under the MIT License.