Я ищу эффективную стратегию кэширования для C #. Я создаю приложение MVC, однако один из моих запросов нацелен на историческую таблицу с состояниями и т. Д. Излишне говорить, что запрос является сильно вложенным и сложным, и я не хочу запускать его каждый раз, когда человек попадает на сайт, поэтому решил кешировать данные (либо результаты, либо сами таблицы). Я не хочу хранить свой кэш в управляемой куче из-за проблемы со сборкой мусора, которая часто встречается у генераторов GC и кэшей. Мне было интересно, использует ли Cache Application Block (http://msdn.microsoft.com/en-us/library/ff650180.aspx) неуправляемую память (вне управляемой кучи?). Есть ли способ получить доступ к памяти напрямую через встроенный ввод-вывод? Какие-либо другие инструменты кэширования стоит изучить?