Azure 角色中缓存中的配置模型
重要
Microsoft 建议所有新开发使用 Azure Redis 缓存。 有关选择 Azure 缓存产品/服务的当前文档和指南,请参阅 哪个 Azure 缓存产品/服务适合我?
本主题介绍Microsoft Azure缓存中的配置文件的使用。 有两种类型的配置设置。
角色配置
客户端配置
角色配置
In-Role缓存支持在 Azure 角色中托管缓存的功能。 这种类型的缓存配置为云服务的一部分。 通常,这在Visual Studio中完成。
注意
本节中所述的配置设置仅适用于基于角色的In-Role缓存。 共享缓存仅支持对default
缓存的访问。 共享缓存不支持更改缓存的属性default
。
若要了解配置设置,最好将这些设置与Visual Studio中的用户界面选项相关联。 下面的屏幕快照显示了角色属性对话框上的“Caching”选项卡的一部分。
除了启用In-Role缓存之外,还可以创建一个或多个命名缓存。 每个缓存均指定自己的属性。 下面的屏幕快照显示了“Caching 属性”选项卡的此部分。
这些用户界面选定内容将存储在配置文件中。 首先,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="{"caches":[{"name":"NamedCache1","policy":{"eviction":{"type":0},"expiration":{"defaultTTL":20,"isExpirable":true,"type":2},"serverNotification":{"isEnabled":true}},"secondaries":1},{"name":"NamedCache2","policy":{"eviction":{"type":-1},"expiration":{"defaultTTL":25,"isExpirable":true,"type":1},"serverNotification":{"isEnabled":false}},"secondaries":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 语法来描述每个命名缓存的属性,并且所有双引号均替换为 "
。 有关角色配置设置的参考,请参阅角色中缓存角色配置设置 (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)