我正在使用Laravel 5.1项目,使用大量的ajax调用返回html块。
为了优化网站的速度,我想实现私有和公共响应缓存。这可以使用以下代码正常工作:
return response()
->json($result)
->header('Cache-Control', 'public, max-age=300');
然而,以这种方式使用它不会占用在300秒内更新的帐户对象。
当且仅当返回的对象已更新时,是否有可能允许我清除请求的响应缓存?
答案 0 :(得分:0)
也许你可以尝试使用下面这样的服务器端缓存。对不起,这很粗糙
function sometest(User $user)
{
/** . . .conditions to check if some data has changed . . . **/
$jsonResponse = Cache::remember(Auth::id() . "_sometest", 300, function () use ($user)
{
$result = $user->all(); //get result here
return $result;
});
return response()->json($jsonResponse);
}
您可以在这里阅读Cache
您也可以尝试