应用程序配置设置(AppFabric 1.1 缓存)
使用 Microsoft AppFabric 1.1 for Windows Server 的缓存功能,您可以通过使用应用程序配置文件或通过使用应用程序中不同位置上的方法,以编程方式配置应用程序的缓存客户端设置。有关按每个配置方法和如何选择的详细信息,请参阅配置缓存客户端。
无论采用何种方法,均配置相同的缓存客户端设置。本主题中的表格显示缓存客户端可用的设置,并显示在基于 XML 的应用程序配置文件中的配置方法,以及以编程方式、通过使用节点的配置方法。
有关如何使用应用程序中的这些设置的详细信息,请参阅基于 XML 的客户端配置。
缓存客户端设置
每个缓存客户端都定义了配置设置。如果您使用某个配置文件,则将该文件包含在可以嵌入到 dataCacheClients
部分的一个或多个 dataCachClient
部分中。例如:
<dataCacheClients>
<dataCacheClient name="default">
<hosts>
<host name="CacheServer1" cachePort="22233" />
<host name="CacheServer2" cachePort="22233" />
</hosts>
</dataCacheClient>
<dataCacheClient name="compressedCache" isCommpressionEnabled="true">
<hosts>
<host name="CacheServer1" cachePort="22233" />
<host name="CacheServer2" cachePort="22233" />
</hosts>
</dataCacheClient>
</dataCacheClients>
在上面的示例中,在配置文件中定义了两个缓存客户端:default
和 compressedCache
。若要访问默认缓存,您无需指定缓存客户端名称。例如:
DataCacheFactory factory = new DataCacheFactory();
若要指定名为 dataCacheClient
的任何其他部分,必须使用 DataCacheFactoryConfiguration 构造函数指定缓存客户端部分名称。
DataCacheFactoryConfiguration factoryConfig = new DataCacheFactoryConfiguration("compressedCache");
DataCacheFactory factory = new DataCacheFactory(factoryConfig)
如果未使用应用程序配置文件,则可以采用编程方式通过 DataCacheFactoryConfiguration 类的属性定义所有设置。
设置 | XML 配置位置 | 代码配置位置 |
---|---|---|
压缩(布尔型) |
|
DataCacheFactoryConfiguration 类的 IsCompressionEnabled 属性。 |
客户端超时(毫秒) |
|
|
频道打开超时(毫秒) |
|
|
与服务器的最大连接数 |
|
缓存主机设置
对于每个缓存客户端,您必须指定群集中的一个或多个缓存主机。指定主要主机,因为将缓存主机指定为主要主机可帮助管理群集。主要主机是最初安装在群集中的首个缓存主机。有关主要主机的详细信息,请参阅 AppFabric 缓存物理体系结构图(AppFabric 1.1 缓存)。
在应用程序配置文件中,将在主机元素(hosts
元素的子元素)中指定每个缓存主机的设置。以编程方式来说,在 DataCacheServerEndpoint 类的类构造函数中会定义每个主机。对其进行实例化之后,这些 DataCacheServerEndPoint 对象随后将传递到 DataCacheServerEndpoint 类的 Servers 属性。
设置 | XML 配置位置 | 代码配置位置 |
---|---|---|
缓存服务器名称 |
|
DataCacheServerEndpoint 类的 HostName 属性。 |
缓存端口号 |
|
DataCacheServerEndpoint 类的 CachePort 属性。 |
本地缓存设置
本地缓存设置指定是否应启用本地缓存,应使本地缓存对象失效的方式,对象超时以及缓存通知是否应该用于使本地缓存对象失效。
在应用程序配置文件中,本地缓存设置定义在 localCache
元素(dataCacheClient
元素的子)中。采用编程方式,将本地缓存配置为传递给 DataCacheFactory 类构造函数的构造函数的 DataCacheFactoryConfiguration 类的实例。有关本地缓存的详细信息,请参阅缓存客户端和本地缓存(AppFabric 1.1 缓存)。
设置 | XML 配置位置 | 代码配置位置 |
---|---|---|
本地缓存已启用 |
|
DataCacheLocalCacheProperties 类的 IsEnabled 属性。然后,这将分配给 DataCacheFactoryConfiguration 类的 LocalCacheProperties 属性。 |
本地缓存失效方法 |
|
DataCacheLocalCacheProperties 类的 InvalidationPolicy 属性。可能的值包括 NotificationBased 和 TimeoutBased。 |
本地缓存超时(秒) |
|
|
指定缓存通知轮询时间间隔(秒) |
(可选)由 |
DataCacheNotificationProperties 类的 PollInterval 属性。然后,这将分配给 DataCacheFactoryConfiguration 类的 NotificationProperties 属性。 |
本地缓存对象的最大计数 |
(可选)由 |
备注
为获得最佳性能,仅启用较少更改的对象的本地缓存。使用经常更改数据的本地缓存可能增加客户端将使用过时对象的机会。虽然您可以降低 ttlValue
,并且更频繁地刷新本地缓存,但群集上增加的负载可能超过使用本地缓存的优势。在经常更改数据的情况下,最好禁用本地缓存并从群集中直接提取数据。
通知设置
在应用程序配置文件中,通知属性是在 clientNotification
元素(dataCacheClient
元素的子元素)中定义的。采用编程方式,将通知属性配置为传递给 DataCacheFactory 类构造函数的构造函数的 DataCacheFactoryConfiguration 类的实例。有关详细信息,请参阅配置方法。
设置 | XML 配置位置 | 代码配置位置 |
---|---|---|
特定缓存通知轮询时间间隔(秒) |
由 |
DataCacheNotificationProperties 类的 PollInterval 属性。然后,这将分配给 DataCacheFactoryConfiguration 类的 NotificationProperties 属性。 |
最大队列长度 |
|
安全设置
在应用程序配置文件中,安全属性是在 securityProperties
元素(dataCacheClient
元素的子元素)中定义的。采用编程方式,将安全属性配置为传递给 DataCacheFactory 类构造函数的构造函数的 DataCacheFactoryConfiguration 类的实例。有关详细信息,请参阅配置方法。
设置 | XML 配置位置 | 代码配置位置 |
---|---|---|
模式 |
|
DataCacheSecurity 类的 SecurityMode 属性。可能的值包括 None 和 Transport。然后,将 DataCacheSecurity 对象分配给 DataCacheFactoryConfiguration 类的 SecurityProperties 属性。 |
保护级别 |
|
DataCacheSecurity 类的 ProtectionLevel 属性。可能的值包括 None、Sign 和 EncryptAndSign。 |
传输设置
在应用程序配置文件中,传输属性是在 transportProperties
元素(dataCacheClient
元素的子元素)中定义的。采用编程方式,将传输属性配置为传递给 DataCacheFactory 类构造函数的构造函数的 DataCacheFactoryConfiguration 类的实例。有关详细信息,请参阅配置方法。
设置 | XML 配置位置 | 代码配置位置 |
---|---|---|
连接缓冲区大小(字节) |
|
DataCacheTransportProperties 类的 ConnectionBufferSize 属性。然后,这将分配给 DataCacheFactoryConfiguration 类的 TransportProperties 属性。 |
最大缓冲区池大小(字节) |
|
|
最大缓冲区大小(字节) |
|
|
最大输出延迟(毫秒) |
|
|
通道初始化超时(毫秒) |
|
DataCacheTransportProperties 类的 ChannelInitializationTimeout 属性。 |
接收超时(毫秒) |
|
示例应用程序配置文件
为使 AppFabric 程序集读取应用程序配置文件中的 XML 元素,必须包含 configSections
元素,作为 configuration
标记下文件中的首个元素。在 configSections
元素中,必须包含一个与 dataCacheClient
元素相关联的 section
元素。
以下示例显示一个应用程序配置文件,该文件使用本主题中介绍的许多缓存客户端配置选项。请注意,只需将 dataCacheClient
中的 hosts
元素连接到群集。其他所有子元素都具有默认值。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<!--configSections must be the FIRST element -->
<configSections>
<!-- required to read the <dataCacheClient> element -->
<section name="dataCacheClient"
type="Microsoft.ApplicationServer.Caching.DataCacheClientSection,
Microsoft.ApplicationServer.Caching.Core, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=31bf3856ad364e35"
allowLocation="true"
allowDefinition="Everywhere"/>
</configSections>
<dataCacheClient requestTimeout="15000" channelOpenTimeout="3000" maxConnectionsToServer="1">
<localCache isEnabled="true" sync="TimeoutBased" ttlValue="300" objectCount="10000"/>
<clientNotification pollInterval="300" maxQueueLength="10000"/>
<hosts>
<host name="CacheServer1" cachePort="22233"/>
<host name="CacheServer2" cachePort="22233"/>
</hosts>
<securityProperties mode="Transport" protectionLevel="EncryptAndSign" />
<transportProperties connectionBufferSize="131072" maxBufferPoolSize="268435456"
maxBufferSize="8388608" maxOutputDelay="2" channelInitializationTimeout="60000"
receiveTimeout="600000"/>
</dataCacheClient>
</configuration>
另请参阅
概念
配置缓存客户端
群集配置设置
AppFabric 缓存问题疑难解答
使用 Windows PowerShell 管理 AppFabric 1.1 缓存功能
AppFabric 缓存概念(AppFabric 1.1 缓存)
开发缓存客户端
2012-03-05