Я создаю приложение Node / Express, которое зависит от данных, извлекаемых из API. Проблема заключается в том, что моему приложению приходится часто извлекать данные из API и каждый раз выполнять интенсивные вычисления, поэтому я хочу кэшировать результаты как из API, так и из интенсивных вычислений.
Я уже записал некоторые очень элементарные функции кэширования (например, запись значений в текстовый файл), но мне любопытно, есть ли способ сохранить значения в памяти в каком-либо объекте для легкого доступа черезцелое приложение (например, для нескольких файлов) вместо того, чтобы иметь функцию util для чтения значений из текстового файла каждый раз.
Например, может быть, у меня есть парадигма, которая выглядит следующим образом:
Когда сервер впервые инициализируется, я выбираю данные и создаю какое-то кэшированное значение:
const data = await api.get('colors');
const map = {
red: data.red,
blue: data.blue,
green: data.green,
}
В одном из моих контроллеров я хочу получить доступ к map
и иметь возможность использовать значения,Поэтому, возможно, я смогу сделать что-то вроде этого:
import { map } from './utils/mapManager.js'
const getGreenValue = (req, res) => {
res.send(map.green);
}
Каков наилучший способ разработки системы, которая пытается добиться такого поведения?
Заранее спасибо, ис удовольствием отвечу на любые уточняющие вопросы.