Я думаю, что самый простой способ - задать себе кучу вопросов:
Изменится ли этот результат?
Нет? затем кэшировать его постоянно
Да, Когда это изменится?Когда пользователь что-то обновляет.Будет ли это влиять только на конкретного пользователя, который изменил значение, или на всех пользователей.Это должно дать вам указание, когда нужно очищать конкретный кеш.
Вы можете продолжать идти, но через некоторое время вы получите разные профили UserCache, GlobalCache - всего лишь 2 примера.Эти профили должны указывать, что нужно кэшировать, и иметь определенные критерии обновления (когда обновлять кэш)