Схема логической архитектуры кэширования AppFabric (кэширование в AppFabric 1.1)
Логическая архитектура кластера кэша в Microsoft AppFabric 1.1 для Windows Server состоит из именованных кэшей, областей и кэшированных объектов. На следующей диаграмме именованные кэши охватывают все узлы кэша в кластере, в то время как каждая область ограничена одним узлом.
Именованные кэши
Именованный кэш, также называемый просто кэшем, представляет собой настраиваемое распределенное хранилище в памяти, используемое всеми приложениями для хранения данных. Для каждого приложения можно настроить один или несколько именованных кэшей. Каждый кэш можно настраивать независимо от остальных, что позволяет оптимизировать политики каждого кэша для приложения.
Как видно на приведенной выше схеме, каждый кэш охватывает все узлы кэша в кластере. При первоначальной настройке функций Кэш AppFabric используется предварительно настроенный кэш по умолчанию. Можно сохранять данные в этом кэше по умолчанию либо создать и использовать именованные кэши.
Все кэши определяются в конфигурации кластера. Для создания и настройки параметров кэшей используется средство администрирования Windows PowerShell. Некоторые параметры можно настроить только при создании кэша. Другие можно изменить позднее, однако для этого может быть необходим перезапуск всего кластера кэша. Дополнительные сведения об использовании Windows PowerShell см. в разделе Использование Windows PowerShell для управления компонентами кэширования в AppFabric 1.1.
Примечание
Число именованных кэшей ограничено 128.
Важно!
При перезапуске кластера кэша все данные из всех именованных кэшей в кластере очищаются, но сами именованные кэши сохраняются.
Области
Область — это дополнительный контейнер данных, который можно разместить в кэше. Области являются конструктивными элементами кэша: они не определяются в параметрах конфигурации кластера. Области не являются обязательными. Их необходимо явным образом создавать во время выполнения путем использования в коде приложения метода CreateRegion. Дополнительные сведения см. в разделе Основные методы кэша.
С помощью областей можно извлекать кэшированные объекты способами, отличными от использования определенного значения ключа, присваиваемого при помещении объекта в кэш. В области можно производить поиск по всем кэшированным объектам с помощью описательных строк, называемых тегами. С каждым объектом, хранящимся в кэше, можно связать один или несколько тегов. Дополнительные сведения см. в разделе Методы на основе тегов.
Для обеспечения данных дополнительных возможностей поиска объекты, относящиеся к одной области, должны храниться на одном узле кэша. Таким образом, преимущества масштабируемости распределенного кэша оказываются недоступны для приложений, использующих такие данные. Если же область не определяется, то кэшированные объекты могут распределяться между всеми узлами кэша в кластере с целью балансировки нагрузки.
Обеспечивая возможности поиска, но ограничивая в то же время область хранения кэшированных объектов одним узлом кэша, области представляют собой компромиссное решение между функциональностью и масштабируемостью.
Кэшированные объекты
Объекты, извлекаемые из кластера кэша, принимают форму базового класса System.Object, и для восстановления их исходного типа необходимо произвести преобразование типов. Когда объект находится в кэше, кластер кэша связывает с ним дополнительную информацию. Она включает ключи, теги, номера версий, а также кэш и область, в которых хранится объект. Для выполнения основных операций с кэшем приложение с поддержкой кэша не нуждается в этой дополнительной информации. Для операций с использованием тегов или согласованности может потребоваться извлечь свойства Tags или Version, связанные с объектом.
Метод GetCacheItem служит для извлечения всей информации, связанной с кэшированным объектом, и предоставления ее в форме объекта DataCacheItem. Дополнительные сведения о доступных API см. в разделе Общие сведения об API клиентов кэша.
См. также
Основные понятия
Клиенты кэша и локальный кэш (кэширование в AppFabric 1.1)
Схема физической архитектуры кэширования AppFabric (кэширование в AppFabric 1.1)
Связь по протоколу TCP/IP (кэширование в AppFabric 1.1)
Модель программирования (кэширование в AppFabric 1.1)
Модель конфигурации (кэширование в AppFabric 1.1)
2012-03-05