Мой запрос к базе данных ниже, который выбирает всех пользователей из базы данных.
$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();
});
Выше код не работает и всегда получает данные из базы данных. Я что-то пропустил ?
Используйте его таким образом (просто измените его под свои нужды):
$users = Cache::remember('users', $minutes, function()
{
return DB::table('users')->get();
});
Первый раз он попадет в базу данных и в следующий раз будет загружен из кеша. С $ минут С помощью параметра вы определяете, сколько минут должно быть кэшировано, прежде чем оно снова получит его из базы данных.
Ниже приведен код, если вы хотите запомнить его навсегда.
$users = Cache::rememberForever('users', function()
{
return DB::table('users')->get();
});