i具有带有大量数据分析结果的Laravel
视图。所有这些值都在Mysql
视图中计算为单个字段结果,然后在其Laravel
路线中加载为变量。
例如。
userCount | veryActiveUserCount | veryActiveUserMalePercent
-----------------------------------------------------------
88292 | 43223 | 59
-----------------------------------------------------------
问题是此MySQL
查询大约需要10秒,这会导致Laravel超时。
此查询每天只需运行一次,因此不需要为每个pageload获取新的数据。加载Laravel
视图时,有没有一种方法可以使用我的结果的缓存版本?
您是否读过有关缓存的文档?
您可以缓存这样的查询:
$value = Cache::get('key', function () {
return DB::table(...)->get();
});
在您的情况下,您应该每天两次"温暖"缓存一次,因此如果高速缓存到期,则无需等待。您可以在使用调度程序的工匠命令中执行此操作。