我正在尝试使用 Laravel 5 来与 Redis 配合使用,以缓存查询/结果来使我的应用程序运行更快。
然而,我有几个问题,这些问题应该能够帮助我决定什么时候使用 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 模型时,它会自动删除缓存,还是每次更新模型时都必须手动删除呢?
Redis
,您有什么建议吗?此外,当我使用 Eloquent 更新记录时,它会刷新缓存吗?还是说这是我需要手动执行的操作? - Jaylen