Laravel 的 ORM 緩存包
LaraCache是一個(gè)基于 ORM 的 Laravel 包,用于基于模型查詢創(chuàng)建、更新和管理緩存項(xiàng)。使用此包冀痕,您可以緩存在整個(gè)應(yīng)用程序中大量使用的查詢荔睹。
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 將負(fù)責(zé)其余的工作。要使用緩存查詢僻他,您將調(diào)用模型宵距,如下例所示:
use Mostafaznv\LaraCache\Facades\LaraCache;
cache = LaraCache::retrieve(Article::class, 'latest');
使用此軟件包,您可以使用以下功能控制緩存:
啟用/禁用緩存
手動(dòng)更新緩存
手動(dòng)更新所有緩存實(shí)體
刪除緩存
CacheEntity使用流利的方法或ttl()方法控制持續(xù)時(shí)間
我認(rèn)為以下手動(dòng)緩存更新方法很簡(jiǎn)潔吨拗,可以即時(shí)刷新緩存:
Article::cache()->update('latest');
// or
LaraCache::update(Article::class, 'latest');
你可以了解這個(gè)包满哪,獲取完整的安裝說(shuō)明,并在 GitHub 上查看源代碼劝篷。