This is an MIT-licensed open source project with its ongoing development made possible by the support of the community. I created this package in response to a client project that had complex, nested forms with many <select>'s that resulted in over 700 database queries on one page. I needed a package that abstracted the caching process out of the model for me and one that would let me cache custom queries, as well as cache model relationships. This package is an attempt to address those requirements. For best performance, a taggable cache provider is recommended (redis, memcached). While this is optional, using a non-taggable cache provider will mean that the entire cache is cleared each time a model is created, saved, updated, or deleted. Keeping keys separate for multiple database connections is automatically handled. This is especially important for multi-tenant applications and of course, any application using multiple database connections.
Features
- Automatic, self-invalidating relationship (only eager-loading) caching
- Documentation available
- Automatic, self-invalidating model query caching
- Automatic use of cache tags for cache providers that support them
- Requires PHP 7.3+
- Requires Laravel 8.0+