Azure 角色中缓存中的配置模型

重要

Microsoft 建议所有新开发使用 Azure Redis 缓存。 有关选择 Azure 缓存产品/服务的当前文档和指南,请参阅 哪个 Azure 缓存产品/服务适合我?

本主题介绍Microsoft Azure缓存中的配置文件的使用。 有两种类型的配置设置。

  1. 角色配置

  2. 客户端配置

角色配置

In-Role缓存支持在 Azure 角色中托管缓存的功能。 这种类型的缓存配置为云服务的一部分。 通常,这在Visual Studio中完成。

注意

本节中所述的配置设置仅适用于基于角色的In-Role缓存。 共享缓存仅支持对default缓存的访问。 共享缓存不支持更改缓存的属性default

若要了解配置设置,最好将这些设置与Visual Studio中的用户界面选项相关联。 下面的屏幕快照显示了角色属性对话框上的“Caching”选项卡的一部分。

Caching Co-located Properites Window

除了启用In-Role缓存之外,还可以创建一个或多个命名缓存。 每个缓存均指定自己的属性。 下面的屏幕快照显示了“Caching 属性”选项卡的此部分。

Caching Properties for Named Caches

这些用户界面选定内容将存储在配置文件中。 首先,Caching模块将加载到 ServiceDefinition.csdef 文件的 Imports 部分中。 下面的 XML 代码段显示了此行。

<Import moduleName="Caching" />

所有其他In-Role缓存设置都存储在 ServiceConfiguration.cscfg 文件中。 例如,下面是前面显示的“Caching”选项卡选定内容所对应的 ServiceConfiguration.cscfg 文件中的设置。

  <Role name="WebRole1">
    <Instances count="2" />
    <ConfigurationSettings>
      <Setting name="Microsoft.WindowsAzure.Plugins.Diagnostics.ConnectionString" value="UseDevelopmentStorage=true" />
      <Setting name="Microsoft.WindowsAzure.Plugins.Caching.NamedCaches" value="{&quot;caches&quot;:[{&quot;name&quot;:&quot;NamedCache1&quot;,&quot;policy&quot;:{&quot;eviction&quot;:{&quot;type&quot;:0},&quot;expiration&quot;:{&quot;defaultTTL&quot;:20,&quot;isExpirable&quot;:true,&quot;type&quot;:2},&quot;serverNotification&quot;:{&quot;isEnabled&quot;:true}},&quot;secondaries&quot;:1},{&quot;name&quot;:&quot;NamedCache2&quot;,&quot;policy&quot;:{&quot;eviction&quot;:{&quot;type&quot;:-1},&quot;expiration&quot;:{&quot;defaultTTL&quot;:25,&quot;isExpirable&quot;:true,&quot;type&quot;:1},&quot;serverNotification&quot;:{&quot;isEnabled&quot;:false}},&quot;secondaries&quot;:0}]}" />
      <Setting name="Microsoft.WindowsAzure.Plugins.Caching.Loglevel" value="" />
      <Setting name="Microsoft.WindowsAzure.Plugins.Caching.CacheSizePercentage" value="30" />
      <Setting name="Microsoft.WindowsAzure.Plugins.Caching.ConfigStoreConnectionString" value="UseDevelopmentStorage=true" />
    </ConfigurationSettings>
  </Role>

在此角色配置中,大多数In-Role缓存设置都与Caching选项卡上的选项有一个简单的关联。但是,Microsoft.WindowsAzure.Plugins.Caching.NamedCaches设置更难阅读。 它使用 JSON 语法来描述每个命名缓存的属性,并且所有双引号均替换为 &quot;。 有关角色配置设置的参考,请参阅角色中缓存角色配置设置 (ServiceConfiguration.cscfg)

客户端配置

缓存客户端是访问 Azure 缓存的任何应用程序代码。 在代码中,每个缓存客户端都与 DataCacheFactory 对象相关联。 工厂返回用于访问缓存的 DataCache 对象。 可以从应用程序或 web.config 配置文件加载缓存客户端的实际设置。

以下示例演示了设置配置文件中命名default的 dataCacheClient 节的相关部分。 特定于基于角色的In-Role缓存。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <section name="dataCacheClients" type="Microsoft.ApplicationServer.Caching.DataCacheClientsSection, Microsoft.ApplicationServer.Caching.Core" allowLocation="true" allowDefinition="Everywhere" />
  </configSections>
  <dataCacheClients>
    <tracing sinkType="DiagnosticSink" traceLevel="Error" />
    <dataCacheClient name="default">
      <autoDiscover isEnabled="true" identifier="WebRole1" />
    </dataCacheClient>
  </dataCacheClients>
</configuration>

有关这些客户端配置设置的参考,请参阅角色内缓存客户端配置设置 (Web.config) 。 有关如何配置基于角色的In-Role缓存的客户端的演练,请参阅 如何:使用 Azure SDK In-Role缓存

另请参阅

概念

Azure 缓存的角色中缓存功能
角色中缓存角色的配置设置 (ServiceConfiguration.cscfg)
角色中缓存客户端的配置设置 (Web.config)