@roxik

Как кэшировать запросы к БД в Laravel?

Здравствуйте!

Как посоветуете кэшировать запросы к БД в Laravel?

Нашел из нормального только:
$value = Cache::remember('users', $minutes, function () {
    return DB::table('users')->get();
});


Есть ли какие-то best practices?
Или open source проекты, где посмотреть можно реализации подобного.
  • Вопрос задан
  • 943 просмотра
Решения вопроса 1
Пригласить эксперта
Ответы на вопрос 2
  • SerafimArts
    @SerafimArts
    Кратко о себе
    В вашем примере кеширование ответов, а не запросов. Запросы к БД кешируются только на уровне prepared statemnents PDO и есть подозрение, что они вполне используются в ядре и так.

    Что касается ответов, то никто не мешает создать, например кеширующую миддлварю и воспользоватся тегированным кешированием, передавая туда аргументы запроса в качестве тегов.

    Для особых гурманов можно создать аннотацию мемоизации и подписываясь на события резолва контейнера (например) проверять оную. Ну или опять же с помощью глобальной миддлвари, повешенной на web группу. Не суть.
    Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через TM ID
Похожие вопросы
Вакансии с Моего Круга Все вакансии
Заказы с Фрилансим Все заказы