Har*_*ist 3 php caching laravel
我从来没有做过很多缓存,但是现在尝试尝试一下。我有一个返回大量数据的仪表板,并且为了减轻负载,我在缓存数据,如下所示:
return cache()->rememberForever('something', function () {
return auth()->user()->something()->get();
});
Run Code Online (Sandbox Code Playgroud)
其中“某物”只是一个相关模型。创建新记录时,在控制器store和update方法中,我只需要这样做:
cache()->forget('something');
Run Code Online (Sandbox Code Playgroud)
所有这些都完美无缺。但是,当我与另一个用户登录时,显然前一个用户的所有缓存数据都显示在仪表板上。
有没有一种简单的方法可以简单地为每个用户缓存数据?
您可以执行以下操作为每个用户分别存储用户对象:
return cache()->rememberForever('something' . auth()->id(), function () {
return auth()->user()->something()->get();
});
Run Code Online (Sandbox Code Playgroud)
要获取经过身份验证的用户的数据:
cache('something' . auth()->id());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1725 次 |
| 最近记录: |