sormagec / laravel-mongo-cacheable
Sormagec Mongo Cacheable is a granular, intuitive, and fluent caching system for eloquent mongodb models. Simple, but yet powerful, plug-n-play with no hassle.
Requires
- php: ^7.1.3
- illuminate/cache: ~5.6.0
- illuminate/contracts: ~5.6.0
- illuminate/database: ~5.6.0
- jenssegers/mongodb: ^3.0
Requires (Dev)
- codedungeon/phpunit-result-printer: ^0.23.0
- illuminate/container: ~5.6.0
- phpunit/phpunit: ^7.0.0
README
Sormagec MongoDB Cacheable is a granular, intuitive, and fluent caching system for eloquent models. Simple, but yet powerful, plug-n-play with no hassle.
What this package do -technically- caching eloquent query passing through the get
method, whatever it is and it's smart enough to indicated any conditions, limit, offset, wheres, orders, groups, ..etc and take that criteria into account when caching and checking for cached version. Also by default any create, update, or delete event will flush all cache for that specific model. It uses default Laravel caching system, and utilizes whatever cache driver you are using. Awesome, right?
Installation & Usage
-
Install the package via composer:
composer require sormagec/laravel-cacheable
-
Use the
\Sormagec\Cacheable\CacheableEloquent
in your desired model, and you're done! -
Seriously, that's it!
Check the CacheableEloquent
source code for more awesome stuff if you need advanced control.
Optional Features
You can optionally override model caching behaviour per model as follows:
/** * Indicate if the model cache clear is enabled. * * @var bool */ protected $cacheClearEnabled = true; /** * The model cache driver. * * @var string */ protected $cacheDriver = 'memcached'; /** * The model cache lifetime. * * @var int */ protected $cacheLifetime = -1;
License
This software is released under The MIT License (MIT).
(c) 2016-2019 Rinvex LLC, Some rights reserved.