Вы в основном говорите о кэшировании данных как об оптимизации производительности. Как всегда, преждевременная оптимизация - плохая идея. Трудно заранее определить, где находятся узкие места, тем более, если домен приложения для вас новый. Оптимизация добавляет сложности, и если вы оптимизируете не те вещи, вы не только напрасно потратили усилия, но и усложнили необходимую оптимизацию.
Запрос пользовательских данных обычно является довольно тривиальным запросом. Вы можете создать себе простой тест, чтобы увидеть, какие накладные расходы это принесет. Если это не значительный процент вашего бюджета времени, просто оставьте его.
Если вы все еще хотите кэшировать данные на сервере приложений, вам нужно придумать схему аннулирования кэша.
Возможные схемы - проверка изменений в базе данных. Если у вас недостаточно данных для кеширования, это на самом деле не намного эффективнее, чем просто перезагрузить его.
Другим вариантом является просто тайм-аут данных. Это хороший вариант, если не важна мгновенная видимость изменений.
Другим вариантом является активная аннулирование кэшей при внесении изменений. Это зависит от того, изменяете ли вы базу данных только через ваше приложение, и если у вас есть один сервер приложений или кластерное решение.