Sobes.tech
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;
}

Такой подход значительно уменьшает время отклика и нагрузку на базу данных.