Как лучше всего использовать asp.net-mvc / SQL-сервер для хранения дорогих вычисленных данных и быстрой их обработки, как stackoverflow - PullRequest
0 голосов
/ 13 апреля 2011

У меня есть такое же требование к stackoverflow, чтобы показывать количество метрик на странице моего сайта asp.net-mvc, которые очень дорого рассчитать. Stackoverflow имеет много метрик на странице (например, скорость принятия пользователя и т. Д.), Которые явно не рассчитываются на лету при запросе страницы, учитывая, что это будет слишком медленно.

Какова рекомендуемая практика очень быстрого обслуживания вычисленных данных без снижения производительности (при условии, что мы можем принять, что эти данные могут быть немного устаревшими.

хранится ли это в каком-либо слое кэширования или хранится в какой-то другой таблице базы данных "результатов", чтобы каждый день выполнялась работа по вычислению этих данных и сохранению результатов, чтобы их можно было напрямую запрашивать?

Предполагая, что я рад иметь дело с задержкой получения этих данных в качестве моментального снимка, что является лучшим решением для этого типа проблемы.

Ответы [ 3 ]

1 голос
/ 14 апреля 2011

Вероятно, они могут полагаться на хранилище данных Redis для таких вычислений и кэширования. Это сообщение от Marcgravell может помочь.

1 голос
/ 13 апреля 2011

да, ответ кеширует, как вы это делаете (может быть) сложная часть, если вы используете NHibernate, добавить кеширование действительно легко, это часть вашей конфигурации и по запросам, которые вы просто добавляете .Cacheable и этоуправляет этим для вас.Кэширование также зависит от типа среды. Если вы используете одного работника, веб-ферму или веб-сад, вам необходимо создать слой кэширования, подходящий для вашего сценария

0 голосов
/ 13 апреля 2011

Несмотря на то, что это довольно недавний метод, один действительно отличный способ структурировать вашу систему, чтобы сделать подобные вещи, - это использовать Разделение ответственности за команды и запросы , чаще упоминаемое CQRS.

...