{"id":24764098,"url":"https://github.com/stillat/hybrid-cache-system-for-statamic","last_synced_at":"2025-03-23T15:29:49.654Z","repository":{"id":192477565,"uuid":"686757363","full_name":"Stillat/hybrid-cache-system-for-statamic","owner":"Stillat","description":"An example custom cache implementation for Statamic, providing near static-HTML response times while preserving text editor based workflows.","archived":false,"fork":false,"pushed_at":"2023-09-04T00:01:21.000Z","size":605,"stargazers_count":7,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-01-28T21:39:15.578Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://stillat.com/blog/2023/09/03/creating-a-hybrid-cache-system-for-statamic","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Stillat.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"license.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null},"funding":{"github":"JohnathonKoster"}},"created_at":"2023-09-03T20:54:12.000Z","updated_at":"2025-01-05T12:29:33.000Z","dependencies_parsed_at":"2023-09-04T21:54:57.778Z","dependency_job_id":null,"html_url":"https://github.com/Stillat/hybrid-cache-system-for-statamic","commit_stats":null,"previous_names":["stillat/hybrid-cache-system-for-statamic"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Stillat%2Fhybrid-cache-system-for-statamic","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Stillat%2Fhybrid-cache-system-for-statamic/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Stillat%2Fhybrid-cache-system-for-statamic/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Stillat%2Fhybrid-cache-system-for-statamic/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Stillat","download_url":"https://codeload.github.com/Stillat/hybrid-cache-system-for-statamic/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245122333,"owners_count":20564285,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-28T21:32:43.589Z","updated_at":"2025-03-23T15:29:49.627Z","avatar_url":"https://github.com/Stillat.png","language":"PHP","funding_links":["https://github.com/sponsors/JohnathonKoster"],"categories":[],"sub_categories":[],"readme":"# Hybrid Cache for Statamic Example Repository\n\nThis repository contains the source code developed in a series of blog posts:\n\n\u003cstrong\u003e[Creating a Hybrid Cache System for Statamic](https://stillat.com/blog/2023/09/03/creating-a-hybrid-cache-system-for-statamic)\u003c/strong\u003e\n\nPart 1 of 6 covers experimenting with various cache systems, techniques, and organization of our custom cache system\n\n\u003cstrong\u003e[Creating a Hybrid Cache System for Statamic: Part Two](https://stillat.com/blog/2023/09/03/creating-a-hybrid-cache-system-for-statamic-part-two)\u003c/strong\u003e\n\nPart 2 of 6 covers invalidating cached responses when template changes are detected and detecting request content dependencies, such as entries, taxonomies, and assets.\n\n\u003cstrong\u003e[Creating a Hybrid Cache System for Statamic: Part Three](https://stillat.com/blog/2023/09/03/creating-a-hybrid-cache-system-for-statamic-part-three)\u003c/strong\u003e\n\nPart 3 of 6 covers managing response headers, configuring the custom cache system, and implementing mechanisms to bypass the cache entirely.\n\n\u003cstrong\u003e[Creating a Hybrid Cache System for Statamic: Part Four](https://stillat.com/blog/2023/09/03/creating-a-hybrid-cache-system-for-statamic-part-four)\u003c/strong\u003e\n\nPart 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.\n\n\u003cstrong\u003e[Creating a Hybrid Cache System for Statamic: Part Five](https://stillat.com/blog/2023/09/03/creating-a-hybrid-cache-system-for-statamic-part-five)\u003c/strong\u003e\n\nPart 5 of 6 covers implementing a cache namespace and labeling system, which we can use to target multiple cache entries simultaneously for invalidation.\n\n\u003cstrong\u003e[Creating a Hybrid Cache System for Statamic: Part Six](https://stillat.com/blog/2023/09/03/creating-a-hybrid-cache-system-for-statamic-part-six)\u003c/strong\u003e\n\nPart 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.\n\n## License\n\nThe hybrid cache code sample is free software released under the MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstillat%2Fhybrid-cache-system-for-statamic","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstillat%2Fhybrid-cache-system-for-statamic","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstillat%2Fhybrid-cache-system-for-statamic/lists"}