Sobes.tech
Назад к вопросам
Junior — Middle
86

Можете привести пример инициативы или проекта, который вы реализовали в профессиональной деятельности?

Ответ от нейросети

sobes.tech AI

В одном из проектов на Node.js я реализовал систему кэширования API-ответов для уменьшения нагрузки на базу данных и ускорения отклика сервера. Использовал Redis для хранения кэша с TTL (временем жизни). При запросе сначала проверялся кэш, и если данные были актуальны, отдавались из него, иначе — выполнялся запрос к базе и результат сохранялся в кэш.

Пример использования Redis в Node.js:

const redis = require('redis');
const client = redis.createClient();

async function getData(key, fetchFunction) {
  return new Promise((resolve, reject) => {
    client.get(key, async (err, data) => {
      if (err) return reject(err);
      if (data) {
        resolve(JSON.parse(data));
      } else {
        const freshData = await fetchFunction();
        client.setex(key, 3600, JSON.stringify(freshData)); // кэш на 1 час
        resolve(freshData);
      }
    });
  });
}

Это позволило значительно повысить производительность и снизить время отклика API.