0
我正在使用缓存数据库查询。我的代码如下。缓存数据库查询 - 记住
$Categories = \App\Models\Skill\Category_Model::paginate(1)->remember(60);
然后我得到了下面的运行时错误。
方法记住不存在。
我错过了什么吗?
我正在使用缓存数据库查询。我的代码如下。缓存数据库查询 - 记住
$Categories = \App\Models\Skill\Category_Model::paginate(1)->remember(60);
然后我得到了下面的运行时错误。
方法记住不存在。
我错过了什么吗?
remember
曾经是4.2之前的雄辩的一部分,但现在新的Laravel是缓存本身的一部分。
当我从Laravel文档引用在此link:
雄辩缓存
雄辩不再提供记得缓存查询方法。 您现在负责使用
Cache::remember
函数手动缓存查询。有关缓存的更多信息,请参阅 full documentation。
回答你的问题缓存数据库查询在Laravel 5.1的最佳方式:
$value = Cache::remember('Categories', 60, function() {
return \App\Models\Skill\Category_Model::paginate(1);
});
如果该项目不存在于缓存中,则关闭传递给remember
方法将被执行,其结果将被放置在缓存中。
您还可以结合remember
和forever
方法,如你使用4.2做雄辩本身的一部分内容:
$value = Cache::rememberForever('Categories', function() {
return \App\Models\Skill\Category_Model::paginate(1);
});
由于您使用分页你可能想后缀添加到您的缓存键像Categories_1
不要认为“记住”是Laravel 5的一部分。[此](https://github.com/dwightwatson/rememberable)似乎支持它并可能解决您的问题。 –
你从哪里找到暗示调用记住查询结果的代码? –
我不确定这是否是正确的数据库查询缓存方式。在Laravel 5.1中缓存数据库查询的最佳方式是什么? – Pankaj