Php 缓存数据库查询-记住

Php 缓存数据库查询-记住,php,laravel-5,laravel-5.1,Php,Laravel 5,Laravel 5.1,我正在使用缓存数据库查询。我的代码如下。 $Categories = \App\Models\Skill\Category_Model::paginate(1)->remember(60); 然后我得到了下面的运行时错误 方法memory不存在 我遗漏了什么吗?请记住在4.2版之前曾经是Eloquent的一部分,但现在有了新的Laravel,它是缓存本身的一部分 正如我在本文中引用的Laravel文档: 雄辩的缓存 Eloquent不再提供用于缓存查询的记住方法。 现在,您负责使用 Ca

我正在使用缓存数据库查询。我的代码如下。

$Categories = \App\Models\Skill\Category_Model::paginate(1)->remember(60);
然后我得到了下面的运行时错误

方法memory不存在


我遗漏了什么吗?

请记住
在4.2版之前曾经是Eloquent的一部分,但现在有了新的Laravel,它是缓存本身的一部分

正如我在本文中引用的Laravel文档:

雄辩的缓存

Eloquent不再提供用于缓存查询的记住方法。 现在,您负责使用
Cache::记住
函数。有关缓存的更多信息,请参阅

回答您的问题在Laravel 5.1中缓存数据库查询的最佳方法:

$value = Cache::remember('Categories', 60, function() {
    return \App\Models\Skill\Category_Model::paginate(1);
});
如果缓存中不存在该项,则将执行传递给
memory
方法的闭包,并将其结果放入缓存中

您还可以将
记住
永远
方法结合起来,就像您以前使用4.2作为雄辩本身的一部分所做的那样:

$value = Cache::rememberForever('Categories', function() {
    return \App\Models\Skill\Category_Model::paginate(1);
});

由于您正在使用分页,您可能希望向缓存键添加后缀,如
Categories\u 1

不要认为“记住”是Laravel 5的一部分。似乎可以备份它并可能解决您的问题。您在哪里找到建议对查询结果调用memory的代码?我不确定这是否是执行数据库查询缓存的正确方法。在Laravel 5.1中缓存数据库查询的最佳方法是什么?