Клиенты кэша и локальный кэш (кэширование в Windows Server AppFabric)

При использовании функций кэширования Windows Server AppFabric приложение использует объект DataCache для хранения данных в кэше. Этот объект называется клиентом кэша. Для создания клиента кэша, использующего кэш по умолчанию, воспользуйтесь методом GetDefaultCache. Для создания клиента кэша, использующего именованный кэш, воспользуйтесь методом GetCache.

Примечание

Для обеспечения надлежащей производительности рекомендуется по возможности минимизировать количество объектов DataCacheFactory, создаваемых приложением с поддержкой кэша. Объект DataCacheFactory следует сохранять в переменной, доступной для всех частей приложения, которые должны использовать клиент кэша.

Вопросы безопасности

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

Локальный кэш

Сервер хранит объекты в кэше в сериализованной форме. Когда клиент кэша запрашивает объект из кэша, сервер отправляет его клиенту по сети. Клиент кэша десериализует объект для использования клиентским приложением. Для ускорения процесса извлечения объекта можно включить локальный кэш. Дополнительные сведения о включении локального кэша см. в разделах Включение локального кэша Windows Server AppFabric или Включение локального кэша Windows Server AppFabric (XML).

Если локальный кэш включен, клиент кэша хранит локальную ссылку на объект. Таким образом объект остается активным в памяти клиентского приложения. Когда приложение запрашивает объект, клиент кэша сначала проверяет наличие объекта в локальном кэше. В случае наличия объекта сразу же возвращается ссылка на него, и обращение к серверу не производится. Если объект отсутствует, он запрашивается с сервера. Клиент кэша затем десериализует объект и сохраняет ссылку на только что полученный объект в локальном кэше. Клиентское приложение использует этот же объект.

Время жизни объекта в локальном кэше зависит от ряда факторов, например максимального числа объектов в локальном кэше и политики недействительности. Имеются два типа недействительности для локального кэша: на основе тайм-аута и на основе уведомлений. Дополнительные сведения см. в разделе Окончание срока действия и вытеснение (кэширование в Windows Server AppFabric).

Совет

После того как объекты будут сохранены в локальном кэше, приложение будет использовать эти объекты, пока они не станут недействительными, вне зависимости от того, были ли они обновлены другим клиентом кластера кэша. По этой причине локальный кэш лучше использовать для хранения редко изменяемых данных.

Согласованность объектов

Помещенные в локальный кэш объекты хранятся в том же адресном пространстве процесса, что и процесс клиента кэша. Когда клиент кэша запрашивает объект из локального кэша, клиент получает ссылку на него, а не его копию. Это важно для многопотоковых приложений, в которых один и тот же объект в локальном кэше может одновременно изменяться в нескольких потоках. В таких приложениях для синхронизации изменений объектов в нескольких потоках могут использоваться стандартные методики .NET Framework. Также существует возможность создания отдельных объектов DataCacheFactory для каждого потока. Это следует делать с осторожностью, так как дополнительные расходы, вызванные созданием нескольких фабрик кэша, могут обесценить преимущества.

См. также

Основные понятия

Схема физической архитектуры кэширования Windows Server AppFabric
Схема логической архитектуры кэширования Windows Server AppFabric
Окончание срока действия и вытеснение (кэширование в Windows Server AppFabric)
Включение локального кэша Windows Server AppFabric
Включение локального кэша Windows Server AppFabric (XML)
Разработка клиента кэша (кэширование в Windows Server AppFabric)

  2011-12-05