Проверяет знание способов кэширования страниц и ответов для снижения нагрузки на сервер, включая Redis и Nitro-кэширование.
Кэширование — это техника сохранения копий данных или результатов вычислений для ускорения последующих запросов. Оно снижает нагрузку на сервер, уменьшая количество обращений к базе данных или повторных генераций страниц. Существует несколько уровней кэширования, каждый из которых решает свою задачу.
Cache-Control, ETag и Last-Modified для управления кэшем на стороне клиента или промежуточных прокси. Это эффективно для статических ресурсов и редко меняющихся страниц.Redis часто используется для кэширования результатов запросов к базе данных. Например, на Node.js с Express:
const redis = require('redis');
const client = redis.createClient();
app.get('/user/:id', async (req, res) => {
const id = req.params.id;
const cached = await client.get(`user:${id}`);
if (cached) return res.json(JSON.parse(cached));
const user = await db.findUser(id);
await client.set(`user:${id}`, JSON.stringify(user), 'EX', 60); // TTL 60 сек
res.json(user);
});Здесь данные пользователя кэшируются на 60 секунд, что уменьшает количество запросов к базе.
Nitro — серверный движок Nuxt 3, поддерживает кэширование маршрутов. Например, можно кэшировать страницу на 5 минут:
// server/routes/cached.js
export default defineEventHandler((event) => {
setResponseHeader(event, 'Cache-Control', 'public, max-age=300');
return { data: 'This is cached' };
});Также можно использовать useCache для более тонкого управления.
Кэширование — обязательный инструмент для масштабируемых приложений. Выбирайте HTTP-кэш для статики, Redis для динамических данных, а Nitro-кэширование для полных страниц в Nuxt. Это снижает нагрузку на сервер и улучшает скорость ответа.
Уровень
Рейтинг:
4
Сложность:
5
Навыки
Node.js
Redis
Ключевые слова
Подпишись на React Developer в телеграм
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию