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

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

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

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


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

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

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

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

Похожие вопросы