【发布时间】:2016-07-07 16:00:43
【问题描述】:
我正在尝试将 Redis 与 Laravel 5 一起使用来缓存查询/结果,以使我的应用程序运行得更快。
但是,我有几个问题可以帮助我决定何时使用 Cache 合适,何时不合适。
假设我有以下内容
$interview= Cache::remember('SomeUniqueKey', 180, function(){
return SurveyInterview::where('user_id', 123)
->with([
'current_step.page',
'pages'
])
->first();
});
前面的代码应该缓存eloquent返回的集合集。总共有 3 个查询。第一个查询模型,第二个查询current_step.page关系,最后一个查询pages关系。
据我了解,只要我一遍又一遍地执行上述代码,Laravel 就会从缓存中返回集合,直到集合被缓存后 180 分钟结束。
问题
如果我的数据库表发生更新,laravel 会自动删除缓存吗?在其他作品中,一旦我更新我的SurveyInterview 模型,它会删除缓存还是每次更新模型时都必须手动删除它?
【问题讨论】:
标签: php laravel caching laravel-5 eloquent