Почему доступ к базе данных быстрее, чем кешированию массива? - PullRequest
0 голосов
/ 19 января 2020

У меня следующий (неоптимизированный) код:

public function getFromAllKeys($keyName) {
    ...
    return LokaliseKey::where('key_id', $keyName)->first();
}

время загрузки страницы (11,11 с) - среднее из 5 попыток

Я обращаюсь к этому методу около 100 раз, чтобы найти заданный ключ (я знаю, что мог бы оптимизировать его, передав вместо него массив ключей).

Хотя, если я попытаюсь оптимизировать его, определив такие функции, как:

public function getFromAllKeys($keyName) {
    ...
    $allKeys = Cache::remember('myData', 60, function () {
       return LokaliseKey::all()->keyBy('key_id'); // ± 4000 records
    });

    return Cache::get('myData')[$keyName];
}

время загрузки страницы еще медленнее (15,95 с)

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