3

我在做什么

我的数据库查询低于从数据库中获取所有用户的查询。

$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();
});

上面的代码不起作用,总是从数据库中获取数据。我错过了什么吗?

4

2 回答 2

1

如果您想永远记住它,以下是代码。

$users = Cache::rememberForever('users', function()
{
    return DB::table('users')->get();
});
于 2015-12-18T10:16:24.117 回答
1

以这种方式使用它(只需根据您的需要进行修改):

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

第一次它将进入数据库,下一次将从缓存中加载。使用$minutes参数,您可以定义在从数据库中再次获取之前应该缓存多少分钟。

于 2015-12-18T10:00:20.887 回答