и в проекте уже используется redis между бизнес логикой и DAL, теперь есть желание
положить в кеш и часто отдаваемые ответы asp.net mvc 5 (только данные без верстки, т.к. проект SPA), погуглил и нашел решение от microsoft (Microsoft.Web.RedisOutputCacheProvider),
но не понятно, зачем делать свою реализацию OutputCacheProvider если можно просто брать данные из redis и их отдавать, из той же бизнес логики или на уровне контроллера?
потому что кеш это cross cutting concern. Дело в том, что в классической трехзвенке (DAL, BLL, PL) для кеша не существует отдельного слоя (мы ведь хотим кешировать и бд, и ответы из апи итд). Конкретно в данном случае используется такой полуневидимый прием, когда в конвейере обработки запроса используется outputCacheProvider. Технически, вам никто не запрещает отдавать данные из редиса напрямую из контроллера, но такой подход снижает возможности поддержки кода
Обсуждают сегодня