Кэширование Laravel

215
24 января 2018, 16:17

Всем привет.Появилось несколько вопросов по работе с кэшем в Laravel:

1 - Правильно ли я понимаю, что, к примеру, следующий код:

$product = Cache::remember('product'.$productId, 60, function () {
   return Product::where('id', $id)->firstOrFail();
});

Запомнит конкретный продукт на 60 минут и не будет дергать таблицу products в течение 60 минут? (Потом этот кэш попросту обновится?) Правильно ли сделана конкатенация для получения правильного ключа 'product'.$productId?

2 - насколько правильным будет выполнение следующих действий: у меня есть таблица user_bonuses, из которой мне нужно получать сумму полученных бонусов за вычитанием потраченных бонусов. Правильным ли будет кэширование данного элемента? Т.е. для каждого пользователя (для отображения в личном кабинете) есть свой баланс бонусов, который выполнен на основе нормализации БД - бонусы считаются отдельно.

Заранее спасибо!

Answer 1

Правильно, но если в течении этих 60 минут он обратится к кешу и не найдет данных то сработает функция обратного вызова и перезапишет кеш. Конкатенация сделана синтаксически верно а по логике я не знаю, лучше добавить разделитель "_" к стати чтоб передать в функцию $id тебе нужно дописать use.

`$product = Cache::remember('product'.$productId, 60, function () use ($id){
   return Product::where('id', $id)->firstOrFail();
});`
  1. Засовывай в кеш что не очень часто меняется в данном случае бонусы.
READ ALSO
Не могу разобраться с регуляркой

Не могу разобраться с регуляркой

Не могу понять, почему регулярка не срабатывает для последней строки?

138
Как убрать увеличение auto_increment в БД при некорректном заполнении формы?

Как убрать увеличение auto_increment в БД при некорректном заполнении формы?

Есть форма регистрации с некоторым числом полейЕсть обработчик, в котором что-то типа:

129
Пишет что не заполнены все поля

Пишет что не заполнены все поля

У меня проблема с кодом, когда нажимаю кнопку добавить тарифный план - пишет, что не все поля заполнены

197
Как удалить пустые строки в конце файла?

Как удалить пустые строки в конце файла?

Добрый вечерПодскажите, пожалуйста, код (php), который будет удалять пустые строки в конце файла

205