美文网首页
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