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

Что я делаю

Мой запрос к базе данных ниже, который выбирает всех пользователей из базы данных.

$Users = \App\Models\User\User_Model::with("Role")->get();

Вопрос

В MVC CI мы могли бы выполнять кэширование запросов базы данных, как показано ниже $this->_ci->db->cache_on(); Есть ли встроенный метод в Laravel 5.2?




Согласно документам здесь…Я пишу код ниже, чтобы получить и установить кэш

$Categories = \Cache::get('Categories', function() {
return \App\Models\Skill\Category_Model::all();
});

Выше код не работает и всегда получает данные из базы данных. Я что-то пропустил ?

3

Решение

Используйте его таким образом (просто измените его под свои нужды):

$users = Cache::remember('users', $minutes, function()
{
return DB::table('users')->get();
});

Первый раз он попадет в базу данных и в следующий раз будет загружен из кеша. С $ минут С помощью параметра вы определяете, сколько минут должно быть кэшировано, прежде чем оно снова получит его из базы данных.

1

Другие решения

Ниже приведен код, если вы хотите запомнить его навсегда.

$users = Cache::rememberForever('users', function()
{
return DB::table('users')->get();
});
1

По вопросам рекламы [email protected]