У моего клиента есть загруженный сайт трафика с большим количеством страниц, встроенные в кеш-решения ASP.NET хороши, но он хранит контент только в памяти. Поскольку сайт имеет большое количество страниц, поэтому я думаю, что кэширование дисков было бы лучшей идеей. Но после поиска я не нашел решения, никаких предложений?Есть ли решение для Disk Cache для ASP.NET?
ответ
ASP.NET 4.0 позволяет вам написать собственный поставщик кеша. Scott Gu's blog discusses the details.
.Net 4 позволяет писать самостоятельно, используя OutputCacheProvider, и могут быть некоторые примеры. Без сомнения, кто-то будет раскрывать проект с открытым исходным кодом вокруг этого, когда .Net 4 получает больше тяги.
Был, по-видимому, один из бета-версий ASP.Net 2.0, но он удалился в RTM. Вы все равно можете найти ссылки на параметр web.config DiskCache.
Какой-нибудь проект стал стандартом де-факто, насколько известно любому? –
Существует ConcurrentCache project on codeplex, который поддерживает 4 режима кэширования:
- памяти
- Файлы
- Сжатый
- Auto
Я не могу сказать много о проекте поскольку я только что нашел его сам, но сейчас я даю ему право.
FWIW У меня пока не было очень хорошего успеха, я не уверен, готов ли он к производству. –
This gist основан на статье Скотта Митчелла.
DiskCache.NET - это библиотека, которая позволяет кэшировать данные в файле.
Динамическое кэширование страниц ASP.NET не всегда является хорошей идеей. Является ли содержание статическим? – Kangkan
@ Kangkan: Почему ты так говоришь? – kervin
Если контент является динамическим, а контент, который должен быть доставлен по каждому запросу, отличается друг от друга, тогда нет смысла кэшировать его. Кэширование хорошее, когда есть время обработки, и выход остается таким же. – Kangkan