Кэш предзагрузки в Inertia
Пусть список постов открывают часто, но содержимое на сервере меняется не каждую секунду. Имеет смысл держать предзагрузку дольше стандартных тридцати секунд, чтобы повторное наведение не дергало Laravel без нужды.
Срок жизни кэша предзагрузки
задаёт атрибут cacheFor
у Link. В шаблоне Vue
его пишут как cache-for.
Значение можно передать строкой
с единицами времени или числом
миллисекунд. Пока срок не вышел,
клиент отдаёт сохранённый ответ
без нового запроса.
Давайте опишем адрес списка:
<?php
use Illuminate\Support\Facades\Route;
use Inertia\Inertia;
Route::get('/posts', function () {
return Inertia::render('Posts/Index', [
'title' => 'Posts',
]);
});
?>
Давайте включим предзагрузку и продлим кэш на минуту:
<script setup>
import { Link } from '@inertiajs/vue3'
</script>
<template>
<h1>Home</h1>
<Link href="/posts" prefetch cache-for="1m">
All posts
</Link>
</template>
Для перехода работника Nora к списку отделов храните предзагрузку десять секунд.