Лучшая стратегия кэширования данных для Asp.Net Mvc и SqlServer
Пользователи могут в основном выполнять операции CRUD для веб-приложений. Но ситуация отличается для моего конкретного веб-приложения. Пользователи никогда не делают CUD. Они могут только получать данные.
Итак, картина:
1- Служба часто обновляет базу данных (7-8 обновлений в секунду)(структура планирования - Quartz.Net)
2-SQL Server 2008 R2
3- Asp.Net MVC 4 (веб-пользователи могут только читать данные с Sql Server!)
Требование: веб-пользователи никогда не получают данные с Sql Server!
Стратегия A: (кодовое имя: хост - веб-приложение)
1- Вызов сервисной библиотеки из Asp.Net MVC, чтобы мы могли обновлять базу данных и кэшировать транзакции
2 - веб-пользователи могут читать из кеша
3- На App_Start мы обновляем данные кеша с сервера sql.
4- Закрыта временная утилизация пула приложений
Стратегия B: (кодовое название: веб-канал)
1- Сервис работает как exe.
2- Служба не производит обновление Sql, она отправляет веб-запросы в приложение Asp.Net MVC.
3- Итак, приложение Asp.Net MVC (Controller's Action) обновляет и кеширует транзакции
4- На App_Start мы обновляем данные кеша с сервера SQL.
5- Закрыта временная утилизация пула приложений
В обоих случаях пользователи сети никогда не получают данные из SqlServer. Они всегда читают данные из кеша. Они всегда используют объектный кеш. Самый быстрый кеш для Asp.Net Mvc. Сериализации нет.