"В компьютерных науках есть только две серьезные проблемы: аннулирование кэша и присвоение имен."
Фил Карлтон
Вы явно говорите о кеше, и в качестве общего принципа не следует сохранять какие-либо кэшированные данные (в SQL или где-либо еще), поскольку у вас есть проблема с истечением срока действия кэша и необходимостью удаления (как в настоящее время). ). Если вы настаиваете на хранении своего результата где-то и не возражаете против его последующей очистки, тогда посмотрите, как поместить его в BLOB-объект Azure - он легко доступен из браузера и не требует обработки запроса вашим собственным приложением.
Чтобы реализовать его в качестве традиционного кэша, посмотрите на эти опции.
- Используйте готовое кеширование ASP.NET, где вы кэшируете в памяти веб-роль. Это означает, что ваше объединение будет повторяться при каждом посещении пользователем, но в зависимости от количества экземпляров и продолжительности среднего сеанса может быть проще всего реализовать.
- Используйте AppFabric Cache. Это дополнительный API для изучения и имеет дополнительные расходы, которые могут быть довольно высокими, если у вас много уникальных посетителей.
- Используйте специализированный распределенный кеш, такой как Memcached. Это приводит к дополнительным затратам / хлопотам необходимости запускать все это самостоятельно, но дает вам большую гибкость в долгосрочной перспективе.
Редактировать: Все на основе ОЗУ. Использование кэширования ASP.NET проще в реализации и позволяет быстрее извлекать данные из кэша, поскольку он находится на одном компьютере - НО требует, чтобы кэш заполнялся для каждого экземпляра веб-роли (т. Е. Он не распределен). Кэширование AppFabric распределено, но также немного медленнее (задержка в сети), и, в зависимости от того, что вы подразумеваете под масштабируемостью, кеширование AppFabric в настоящее время ведет себя несколько хаотично в масштабе - поэтому убедитесь, что вы запускаете тесты. Если вы хотите масштабируемое, многофункциональное распределенное кэширование, и оно является важной частью вашего приложения, перейдите и вставьте Memcached.