加载laravel视图时使用mysql结果的缓存版本

nx7onnlm  于 2021-06-21  发布在  Mysql
关注(0)|答案(1)|浏览(239)

我有一个 Laravel 查看大量数据分析结果。所有这些值都是在 Mysql 在作为变量加载到其 Laravel 路线。
如。

userCount | veryActiveUserCount | veryActiveUserMalePercent
-----------------------------------------------------------
88292     | 43223               | 59
-----------------------------------------------------------

问题是这个 MySQL 查询大约需要10秒,这会导致laravel超时。
此查询每天只需运行一次,因此不需要为每个页面加载获取新数据。有没有一种方法可以在加载结果时使用结果的缓存版本 Laravel 查看?

xe55xuns

xe55xuns1#

你读过关于缓存的文档吗?
可以像这样缓存查询:

$value = Cache::get('key', function () {
    return DB::table(...)->get();
});

在您的情况下,您应该每天“预热”缓存一次/两次,这样,如果缓存过期,用户就不必等待。您可以在带有调度程序的artisan命令中执行此操作。

相关问题