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中缓存数据库查询的最佳方法是什么?