Расширение ObjectCache для создания альтернативы файлового кэша - PullRequest
3 голосов
/ 29 ноября 2011

Мы работаем над мобильным проектом ASP.Net MVC / Jquery для сети австралийских парков отдыха. Большая часть связанных с парком данных хранится в базе данных SQL.

Один из разрабатываемых в настоящее время разделов - «Местные достопримечательности». Данные для этого раздела взяты из веб-сервиса австралийского хранилища данных о туризме (ATDW). Хотя загрузка представления может занять до 45 секунд, к счастью для нас данные достаточно статичны. Мы планируем кэшировать и обновлять его еженедельно. Эти данные также относительно велики. Я считаю, что он не подходит для кэширования в памяти.

Меня интересует файловая реализация System.Runtime.ObjectCache.

Я искал в интернете, и мне не удалось найти никаких примеров этого. У меня общий вопрос, и я ищу совет по чтению / записи в файловый кеш. Данные будут получены классом CachedLocalAttractionsService.cs на уровне служб, который вызывается непосредственно из контроллера.

Пожалуйста, сообщите о: Хранение пар имя / значение на диске, Сериализация больших объемов данных, извлекаемых в режиме кэширования [ключ], Любые примеры, которые я мог упустить за 6 часов поиска.

1 Ответ

0 голосов
/ 29 ноября 2011

Лучшим вариантом для кэширования / поиска в файловой системе, вероятно, является использование индекса Lucene.

Однако, если ваш контент довольно статичен, то не могли бы вы, возможно, не изучить использование кэширования вывода?Тривиальный пример

[OutputCache(Duration=10, VaryByParam="none")]
public ActionResult Index()
{
    return View();
}

Это кеширует этот возврат в течение 10 секунд.

Проверьте здесь http://www.asp.net/mvc/tutorials/improving-performance-with-output-caching-cs

...