ASP.NET 4.0 кеширование объектов - PullRequest
1 голос
/ 19 января 2011

Существует два вида кэшей, которые необходимо реализовать: глобальный и уровень сеанса.

  • Кэш уровня сеанса будет хранить определенные данные пользователя, такие как элементы корзины, привилегии пользователей и т. Д.
  • В глобальном кеше будут храниться некоторые данные, общие для всех пользователей, в субдомене .

Таким образом, каждый субдомен будет иметь отдельный глобальный кэш и каждого пользователя (зарегистрирован или нет).) может иметь сессионный / пользовательский кеш.

Я думаю об использовании функций кэширования объектов, предоставленных в версии 4.0 фреймворка с использованием System.Runtime.Caching.Включение основных функций в пользовательскую сущность.

Еще одна вещь, которая приходит мне в голову, - это то, что шаблон синглтона может помочь, хотя и не уверен.

Также следует иметь в виду, что Веб-сайтразмещен на веб-ферме .

Кто-нибудь может подсказать, как это сделать, или указать мне правильное направление, как это реализовать?

Ответы [ 2 ]

0 голосов
/ 01 марта 2011

Я думаю, что вы должны использовать распределенный кеш, такой как NCache, где вы можете хранить один кеш для хранения сессий и второй кеш для хранения объектов. Существует модуль поставщика хранилища сеансов, который вы можете подключить к своему приложению, и он будет автоматически сохранять сеансы в распределенном кеше outproc. Кроме того, вы можете хранить свои объекты в паре ключ-значение либо в том же кэше, либо в другом кэше с помощью API.

Для NCache доступна бесплатная версия, которую вы можете скачать и поиграть http://www.alachisoft.com

0 голосов
/ 19 января 2011

Если ваш сайт находится в веб-ферме, то вы можете рассмотреть возможность использования Memcached. Это ключ в памяти => кэширование значения. Все, что вам нужно сделать, это добавить к кешированным объектам на уровне сеанса префикс sessionID.

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