У меня есть приложение, написанное на ASP.NET MVC 5. Это генерирует множество транзакций с базой данных.
У меня нет подчиненного сервера, который можно было бы выделить для отчетности, поэтому мне нужно использовать кеширование второго уровня в Entity framework для кэширования всех запросов, которые генерируются отчетами.
Идея здесь состоит в том, чтобы уменьшить количество запросов, которые должны попадать в базу данных, особенно когда несколько пользователей пытаются просмотреть один и тот же отчет. поэтому, если у меня есть 5 человек, которые хотят просмотреть информационную панель, только один попадет в базу данных, а остальные прочитают набор данных, хранящийся в кеше. Это должно улучшить производительность отчетов, уменьшить количество блокировок базы данных и улучшить производительность моего приложения.
Можно ли использовать Memcached или Redis с Entity framework, где набор данных кэшируется после выполнения запроса в течение заданного периода времени. И, конечно же, перед выполнением запроса кеш будет проверен на наличие существующего набора данных перед выполнением жесткого запроса на сервере.
Я наткнулся на NCache, который кажется именно тем, чего я пытаюсь достичь, но, к сожалению, это дорого.