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');
使用此软件包,您可以使用以下功能控制缓存:
- 启用/禁用缓存
- 手动更新缓存
- 手动更新所有缓存实体
- 删除缓存
CacheEntity
使用流利的方法或ttl()
方法控制持续时间
我认为以下手动缓存更新方法很简洁,可以即时刷新缓存:
Article::cache()->update('latest'); // or LaraCache::update(Article::class, 'latest');
相关博文
Laravel 的 ORM 缓存包