Laravel 5.1 Объектно-ориентированное Ajax-кеширование ответов

Я работаю над проектом Laravel 5.1, использующим много вызовов ajax, возвращающих блоки html.

Чтобы оптимизировать скорость работы сайта, я хочу внедрить частное и публичное кэширование ответов. это работает нормально, используя следующий код:

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

И все же, используя его таким образом, вы не сможете хранить объекты аккаунта, которые обновляются в течение 300 секунд.

Существуют ли возможности, позволяющие очистить кэш ответа на запрос, если и только если возвращаемые объекты были обновлены?

8

Решение

Может быть, вы можете попробовать кэширование на стороне сервера с чем-то вроде этого ниже. извини это грубо

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);
}

Вы можете прочитать о здесь кэш

Вы также можете попробовать

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]