GeneaLabs / laravel-model-caching不通过急切的加载来缓存我雄辩的查询

时间:2019-02-28 01:54:26

标签: php laravel caching eloquent

我遇到了这个库https://github.com/GeneaLabs/laravel-model-caching,并试图在我的项目中使用它。

首先,我在.env中添加了以下行:

MODEL_CACHE_STORE=file

我正在使用文件缓存存储进行测试,在生产中,我将使用redis。

然后我用以下内容创建了app/CacheableModel.php

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use GeneaLabs\LaravelModelCaching\Traits\Cachable;

abstract class CacheableModel extends Model
{
    use Cachable;
}

然后像这样的示例更新了所有模型(app/User.php除外)

<?php

namespace App;

class Company extends CacheableModel
{
    ...
}

我用这样的测试路线对其进行了测试:

Route::get('test', function() {

    $testUser = \App\User::where('email', 'test@domain.com')
        ->with('company.users', 'company.subscription')
        ->first();

    dump($testUser->toArray());

});

当我访问测试路线时,可以看到加载和转储的数据。如果刷新页面,则似乎没有在缓存上述查询。

通过查看查询日志(使用laravel望远镜)以及查看storage/framework/cache/data-它是空的,我证实它没有缓存我的雄辩查询。

任何想法可能有什么问题吗?

这不是因为app/User.php模型不使用CacheableModel基类并且测试查询从用户模型开始而进行缓存吗?

0 个答案:

没有答案