Разработка для управляемой службы кэша Azure

Важно!

Корпорация Майкрософт рекомендует все новые разработки использовать кэш Redis для Azure. Текущая документация и рекомендации по выбору предложения кэша Azure см. в статье о том, какое предложение кэша Azure подходит для меня?

управляемая служба кэша предоставляет набор API для добавления, обновления и удаления элементов из кэша. Использование классов и методов в пространстве имен Microsoft.ApplicationServer.Caching является прямым способом взаимодействия с кэшем. При этом использование одного из поставщиков ASP.NET является косвенным способом использования кэша. В разделах этого раздела рассматривается прямое программное использование управляемая служба кэша. Дополнительные сведения о поставщиках ASP.NET для управляемая служба кэша см. в разделе ASP.NET 4 поставщика кэша для Azure управляемая служба кэша.

Модель программирования

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

Рекомендации по программированию отдельно от кэша

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

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

Существует много других причин, по которым ваш код может обнаружить промах кэша. Например, у элемента кэша может истечь срок действия или он может быть вытеснен на основе обычных политик истечения срока действия и вытеснения. Независимо от причины код приложения должен быть способен получить доступ к исходному источнику данных для повторного заполнения элемента в кэше. Дополнительные сведения см. в статье об истечении срока действия и вытеснения для Управляемая служба кэша Azure.

Процесс разработки

Для начала использования кэша в приложении нужно выполнить ряд шагов.

  1. Создание кэша.

  2. Настройка клиентов для использования кэша.

  3. Используйте API управляемая служба кэша для использования кэша.

Создание кэша.

Кэши в управляемая служба кэша создаются с помощью командлетов PowerShell, а затем управляются на портале управления Azure. Инструкции по созданию кэша см. в статье "Практическое руководство. Создание кэша для Azure управляемая служба кэша".

Настройка клиентов

Для использования кэша нужно настроить приложение, то есть клиент кэша. Данное действие состоит из следующих шагов:

  1. Ссылка на сборки управляемая служба кэша в проекте Visual Studio.

  2. Настройка доступа к кэшу в файле конфигурации или коде.

управляемая служба кэша предоставляет пакет кэширования NuGet, который добавляет ссылки на сборку и вставляет необходимую конфигурацию в файл web.config или app.config проекта. После установки пакета NuGet кэша можно изменить только что добавленную конфигурацию и задать конечную точку кэша и ключ доступа. Пошаговые инструкции см. в статье "How to: Configure a Cache Client for Azure управляемая служба кэша".

Использование API службы кэша

Последний шаг — это использование кэша в коде приложения. Это можно сделать двумя способами:

Чтобы напрямую получить доступ к кэшу в коде, используйте классы DataCacheFactoyConfiguration, DataCacheFactory и DataCache в API управляемая служба кэша. В следующем примере показано, как добавить и получить строку в default кэше с помощью параметров из defaultdataCacheClient раздела файла конфигурации приложения.

// Cache client configured by settings in application configuration file.
DataCacheFactoryConfiguration config = new DataCacheFactoryConfiguration("default");
DataCacheFactory cacheFactory = new DataCacheFactory(config);
DataCache defaultCache = cacheFactory.GetDefaultCache();    

// Put and retrieve a test object from the default cache.
defaultCache.Put("testkey", "testobject");
string strObject = (string)defaultCache.Get("testkey");
' Cache client configured by settings in application configuration file.
Dim config As New DataCacheFactoryConfiguration("default")
Dim cacheFactory As New DataCacheFactory(config)
Dim defaultCache As DataCache = cacheFactory.GetDefaultCache()

' Put and retrieve a test object from the default cache.
defaultCache.Put("testkey", "testobject")
Dim strObject As String = defaultCache.Get("testkey")

Вы также можете получить доступ к именованным кэшу и разделу файла конфигурации с помощью перегрузок конструктора DataCache . Следующий пример кода функционально идентичен предыдущему.

// Cache client configured by settings in application configuration file.
DataCache defaultCache = new DataCache("default", "default");

// Put and retrieve a test object from the default cache.
defaultCache.Put("testkey", "testobject");
string strObject = (string)defaultCache.Get("testkey");
' Cache client configured by settings in application configuration file.
Dim defaultCache As New DataCache("default", "default")

' Put and retrieve a test object from the default cache.
defaultCache.Put("testkey", "testobject")
Dim strObject As String = defaultCache.Get("testkey")

Примечание

Предыдущий пример не работает в перегрузках метода RoleEntryPoint. Дополнительные сведения см. в статье "Практическое руководство. Создание объекта DataCache в методах RoleEntryPoint для Azure управляемая служба кэша".

Дополнительные сведения об использовании API управляемая служба кэша для доступа к кэшу приведены в разделе "Использование azure управляемая служба кэша".

Полные примеры, демонстрирующие управляемая служба кэша, см. в примерах управляемая служба кэша Azure.

В этом разделе

См. также:

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

Практическое руководство. Создание кэша для Azure управляемая служба кэша

Другие ресурсы

Управляемая служба кэша Azure