美文网首页
Laravel 的 ORM 缓存包

Laravel 的 ORM 缓存包

作者: 耍帅oldboy | 来源:发表于2023-05-06 19:03 被阅读0次

    Laravel 的 ORM 缓存包
    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'); // orcache = LaraCache::retrieve(Article::class, 'latest');
    使用此软件包,您可以使用以下功能控制缓存:

    启用/禁用缓存
    手动更新缓存
    手动更新所有缓存实体
    删除缓存
    CacheEntity使用流利的方法或ttl()方法控制持续时间
    我认为以下手动缓存更新方法很简洁,可以即时刷新缓存:

    Article::cache()->update('latest');
    // or
    LaraCache::update(Article::class, 'latest');
    你可以了解这个包,获取完整的安装说明,并在 GitHub 上查看源代码。

    相关文章

      网友评论

          本文标题:Laravel 的 ORM 缓存包

          本文链接:https://www.haomeiwen.com/subject/gofijdtx.html