2012-05-31 6 views
4

Я собираюсь кэшировать некоторые данные RSS с других сайтов на свой сервер и обновлять кеши раз в 10 минут. Должен ли я использовать Asp.net system.web.caching или кешировать в базе данных или файле?Кэш кеша Asp.net или кэширование вручную

P.S: когда пользователь запрашивает фид на моем клиентском приложении, мой сервер загружает его с сервера. И в следующие 10 минут, если другой пользователь запросит этот канал, мой сервер загрузит его из кеша. Там может быть для чем 100 питается ...

ответ

4

Причина идти с кэшем пользовательские базы данных являются:

  1. Больше контроля о том, как и когда кэш истекает
  2. данные являются слишком много (более чем 10mg) *
  3. нужно держать их слишком много времени (дни или месяцы) *
  4. Доступ к данным кэша на код позади (по любой причине)

В вашем случае вам нужно только скоро его закончить, я думаю, что данные небольшие (менее 10 Мгц), и вы сохраняете их в течение 10 минут, поэтому используйте кеш asp.net, который быстрее, потому что он живет в ядре iis, а также повторы с выходом на ваш код.

[*] Я говорю, что поскольку кеш asp.net хранится в памяти, но ваш пользовательский кеш сохраняется в базе данных, поэтому он может жить там дольше и может быть огромным.

+0

Сколько мегабайт данных полезно для кэширования Asp.net? (максимум) –

+1

@Mahdi Это зависит от того, что вы установили в ограничениях памяти пула. Я думаю, что пул установил эти ограничения. Когда вы устанавливаете данные в кеше, не всегда идут в реальную память, они могут сохраняться в виртуальной памяти пула, что я имею в виду передача на диск. – Aristos

+1

@Mahdi Если вы разместите много данных в кэше asp.net, которые вы видите (используя проводник процессов), используемая память ваших пулов начнет расти :) Если его стабильная (не вырастая) более чем через минуту или час работы, то все нормально ... – Aristos

Смежные вопросы