GeneaLabs / laravel-model-caching не кэширует мой красноречивый запрос с энергичной загрузкой - PullRequest
0 голосов
/ 28 февраля 2019

Я наткнулся на эту библиотеку 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, а тестовый запрос начинается с пользовательской модели?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...