Laravel框架的ORM缓存包:LaraCache

2023-06-01 00:00:00 laravel 框架 缓存

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');


你可以了解这个包,获取完整的安装说明,并在 GitHub 上查看源代码。

https://github.com/mostafaznv/laracache

转:

https://laravel-news.com/laracache-orm-caching-package-for-laravel

相关文章