LaraCache — это пакет на основе ORM для Laravel, позволяющий создавать, обновлять и управлять элементами кэша на основе запросов модели. С помощью этого пакета вы можете кэшировать запросы, которые активно используются в вашем приложении.
use Mostafaznv\LaraCache\Traits\LaraCache;
class Article extends Model
{
use LaraCache;
public static function cacheEntities(): array
{
return [
CacheEntity::make('list.forever')
->cache(function() {
return Article::query()->latest()->get();
}),
CacheEntity::make('latest')
->validForRestOfDay()
->cache(function() {
return Article::query()->latest()->first();
})
];
}
}
Используя метод cacheEntities
для определения кэшированных запросов, Laracache позаботится обо всем остальном.Чтобы использовать кешированные запросы, вызовите модель, как показано в следующем примере:
use Mostafaznv\LaraCache\Facades\LaraCache;
$cache = Article::cache()->get('latest');
// or
$cache = LaraCache::retrieve(Article::class, 'latest');
С помощью этого пакета вы можете управлять кешем с помощью следующих функций:
- Enable/disable cache
- Update cache manually
- Update all cache entities manually
- delete cache
- Control
CacheEntity
duration using fluent methods or attl()
method
Я думаю, что следующий метод ручного обновления кеша был удобен, обновляя ваш кеш на лету:
Article::cache()->update('latest');
// or
LaraCache::update(Article::class, 'latest');
Вы можете узнать об этом пакете, получить полные инструкции по установке и просмотреть файл исходный код на GitHub.