Laravel 5.1面向对象的ajax响应缓存

时间:2016-03-21 14:45:10

标签: php laravel httpresponsecache

我正在使用Laravel 5.1项目,使用大量的ajax调用返回html块。

为了优化网站的速度,我想实现私有和公共响应缓存。这可以使用以下代码正常工作:

        return response()
        ->json($result)
        ->header('Cache-Control', 'public, max-age=300');

然而,以这种方式使用它不会占用在300秒内更新的帐户对象。

当且仅当返回的对象已更新时,是否有可能允许我清除请求的响应缓存?

1 个答案:

答案 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

您也可以尝试