Разработка для управляемой службы кэша Azure
Важно!
Корпорация Майкрософт рекомендует все новые разработки использовать кэш Redis для Azure. Текущая документация и рекомендации по выбору предложения кэша Azure см. в статье о том, какое предложение кэша Azure подходит для меня?
управляемая служба кэша предоставляет набор API для добавления, обновления и удаления элементов из кэша. Использование классов и методов в пространстве имен Microsoft.ApplicationServer.Caching является прямым способом взаимодействия с кэшем. При этом использование одного из поставщиков ASP.NET является косвенным способом использования кэша. В разделах этого раздела рассматривается прямое программное использование управляемая служба кэша. Дополнительные сведения о поставщиках ASP.NET для управляемая служба кэша см. в разделе ASP.NET 4 поставщика кэша для Azure управляемая служба кэша.
Модель программирования
Модель программирования управляемая служба кэша предназначена для шаблона программирования на стороне кэша. Если ваши данные находятся не в кэше, приложении или распределенном кэше, необходимо перезагрузить данные в кэше из исходного источника данных.
Рекомендации по программированию отдельно от кэша
Разрабатывайте код приложения для работы независимо от кэша, чтобы приложение продолжало работать в случае, если данные кэша являются недоступными. Так как данные в кэше не сохраняются в надежной форме, существует возможность, что данные в кэше могут быть недоступными. Например, если кэш масштабируется в другое предложение кэша, элементы кэша в памяти утрачиваются. Запрос элемента, который не существует в кэше, называется промахом кэша.
При использовании управляемая служба кэша функции высокой доступности резервные копии кэшированных элементов помогают защититься от сбоев компьютера и процессов в кэше. Даже при включенном высоком уровне доступности существует вероятность, хоть и малая, что все данные кэша потеряются в связи с крупным сбоем. Элементы, которым необходимо сохранение, должны использовать базу данных или другие средства постоянного хранения. Дополнительные сведения см. в статье "Высокий уровень доступности" для Управляемая служба кэша Azure.
Существует много других причин, по которым ваш код может обнаружить промах кэша. Например, у элемента кэша может истечь срок действия или он может быть вытеснен на основе обычных политик истечения срока действия и вытеснения. Независимо от причины код приложения должен быть способен получить доступ к исходному источнику данных для повторного заполнения элемента в кэше. Дополнительные сведения см. в статье об истечении срока действия и вытеснения для Управляемая служба кэша Azure.
Процесс разработки
Для начала использования кэша в приложении нужно выполнить ряд шагов.
Создание кэша.
Настройка клиентов для использования кэша.
Используйте API управляемая служба кэша для использования кэша.
Создание кэша.
Кэши в управляемая служба кэша создаются с помощью командлетов PowerShell, а затем управляются на портале управления Azure. Инструкции по созданию кэша см. в статье "Практическое руководство. Создание кэша для Azure управляемая служба кэша".
Настройка клиентов
Для использования кэша нужно настроить приложение, то есть клиент кэша. Данное действие состоит из следующих шагов:
Ссылка на сборки управляемая служба кэша в проекте Visual Studio.
Настройка доступа к кэшу в файле конфигурации или коде.
управляемая служба кэша предоставляет пакет кэширования NuGet, который добавляет ссылки на сборку и вставляет необходимую конфигурацию в файл web.config или app.config проекта. После установки пакета NuGet кэша можно изменить только что добавленную конфигурацию и задать конечную точку кэша и ключ доступа. Пошаговые инструкции см. в статье "How to: Configure a Cache Client for Azure управляемая служба кэша".
Использование API службы кэша
Последний шаг — это использование кэша в коде приложения. Это можно сделать двумя способами:
Используйте поставщики кэша ASP.NET 4 для Azure управляемая служба кэша для кэширования состояния сеанса и вывода.
Используйте Caching API для работы с подготовленным кэшем в приложении.
Чтобы напрямую получить доступ к кэшу в коде, используйте классы DataCacheFactoyConfiguration, DataCacheFactory и DataCache в API управляемая служба кэша. В следующем примере показано, как добавить и получить строку в default
кэше с помощью параметров из default
dataCacheClient
раздела файла конфигурации приложения.
// 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 управляемая служба кэша