system.web.caching - На каком уровне поддерживается кеш? - PullRequest
0 голосов
/ 10 октября 2011

Я смотрю на реализацию кэширования в .net Web App. В основном ... я хочу кэшировать некоторые данные, которые извлекаются на каждой странице, но никогда не изменяются в базе данных.

Является ли мой элемент кэша уникальным для каждого:

  • Session
  • Пул приложений?
  • Сервер

Если это сеанс, это может выйти из-под контроля, если тысячи людей заходят на мой сайт и каждый кеш равен ~ 5k.

Если бы у пула приложений и у меня было несколько запущенных экземпляров одного сайта (скажем, с другим бэкэндом БД, но все на одном сервере), то для каждого экземпляра мне потребуются отдельные пулы приложений.

Любая помощь будет признательна ... Я думаю, что эти данные, вероятно, там, у меня просто нет правильной комбинации Google, чтобы вытащить ее.

Ответы [ 2 ]

2 голосов
/ 10 октября 2011

По умолчанию он хранится в памяти на сервере.Это означает, что он будет распространен среди всех пользователей веб-сайта.Это также означает, что если вы запускаете свой сайт в веб-ферме, вам придется использовать внешнее кеш-хранилище, чтобы все узлы фермы совместно использовали один и тот же кеш.Вот статья на MSDN, в которой это обсуждается.

2 голосов
/ 10 октября 2011

"Один экземпляр этого класса создается для домена приложения и остается действительным, пока домен приложения остается активным" - MSDN

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...