Back to questions
Junior — Middle
92
Имел ли опыт внедрения и использования кеширования в приложениях на Node.js?
Answer from AI
sobes.tech AI
Да, я имел опыт внедрения кеширования в приложениях на Node.js для повышения производительности и снижения нагрузки на базу данных или внешние API.
Чаще всего использовал Redis как внешний кеш, а также встроенный кеш в памяти для небольших задач. Например, при запросах к базе данных можно сначала проверить кеш, и если данные там есть — вернуть их, иначе получить из базы и сохранить в кеш.
Пример с использованием Redis и библиотеки redis:
const redis = require('redis');
const client = redis.createClient();
async function getUser(userId) {
const cacheKey = `user:${userId}`;
const cached = await client.get(cacheKey);
if (cached) {
return JSON.parse(cached);
}
const user = await db.getUserById(userId); // запрос к БД
await client.set(cacheKey, JSON.stringify(user), 'EX', 3600); // кеш на 1 час
return user;
}
Такой подход значительно уменьшает время отклика и нагрузку на базу данных.