Представьте себе приложение с сотнями пользователей с небольшими данными (максимум 10 пар имя/значение), но создайте систему, в которой для получения этих данных необходимо выполнить некоторые сложные вычисления.
Идея состоит в том, что у меня есть система с «историей», и состояние истории необходимо, поэтому для системы важно «проработать» историю, чтобы иметь последние фактические данные.
Хорошо, и этот процесс требует времени, но я подумал, что единственный, кто редактирует данные в моем случае, — это администратор или события администратора, так как насчет того, чтобы вместо вычисления данных для каждого вызова пользователя я просто:
Это хорошая идея? И если да, то каков наилучший подход для достижения этого?
Я просто сделал модуль под названием «ServerData», который может хранить все пользовательские данные в массивах, и пользовательскую функцию под названием «serverDataUpdate()», которую я вызываю при необходимости.
Пользователи получают все необходимое из этого кэш-модуля.
Я спрашиваю, потому что все это казалось слишком простым, и я искал подходы к кэшированию для Node и увидел несколько дополнительных модулей, созданных для этой цели.
Могут ли они предложить что-то лучшее, чем этот «простой» подход?
Это кажется слишком простым, поэтому я не уверен, что ничего не пропустил.
Спасибо
Милад, спасибо за ответ, буду знать :)



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Если вы считаете, что считать одни и те же цифры каждый раз при получении запроса — это излишество, то да, предварительно вычисляйте их и храните в памяти — лишь бы обслуживали.
Вам нужно будет создать маршруты для пересчета и обновления кеша при изменении параметров расчета.
Имейте в виду, что вам, возможно, придется прибегнуть к другому подходу, если вы собираетесь разместить свое приложение в масштабируемой системе оркестрации контейнеров, такой как Kubernetes. В этом случае ваше приложение будет создано, и каждое из них будет иметь свой собственный кеш.
Спасибо, Чарли, за комментарий. Да, я думал, что могу столкнуться с проблемами масштабируемости, но это не наш план. еще раз спасибо, я просто хотел знать, есть ли большой недостаток в моей концепции или нет.
Возможно, вам следует вычислить свои данные и кэшировать их на сервере Redis. Это просто запустить, и это очень быстро. И, возможно, вы можете создать новый процесс nodejs для обработки данных и связи с Seneca.js для обновления данных на сервере Redis.