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

标签 php laravel httpresponsecache

我正在开发一个 Laravel 5.1 项目,使用大量 ajax 调用返回 html block 。

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

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

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

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

最佳答案

也许您可以尝试使用如下所示的服务器端缓存。抱歉,这很粗糙

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

你也可以试试

关于php - Laravel 5.1 面向对象的 ajax 响应缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36134149/

相关文章:

PHP 摘要认证,注销

php - 在 codeigniter - google 登录回调 url 中包含特殊字符 (.) 并抛出 403 错误。怎么修?

android - 需要一个 Android 中的 HttpResponseCache 的例子

android - com.squareup.okhttp.HttpResponseCache无法解析符号 'HttpResponseCache'

android - 如何使用已安装的 HttpResponseCache

php - 如何检测 stream_copy_to_stream 错误?

php - 带有一个默认字段的 Symfony CollectionType 字段

php - Laravel 中的简单 MySQL 选择查询问题

php - Laravel phpunit 没有得到正确的 url

php - mysql查询返回所有数据,即使where不满足LARAVEL