應用程式組態設定 (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 屬性。 |
用戶端逾時 (毫秒) |
|
|
通道開啟逾時 (毫秒) |
|
|
伺服器的連線數目上限 |
|
DataCacheFactoryConfiguration 類別的 MaxConnectionsToServer 屬性。 |
快取主機設定
對於每個快取用戶端,您必須在叢集中指定一或多個快取主機。指定主要主機,因為指定為主要主機的快取主機可協助管理叢集。一開始,主要主機會是最早安裝在叢集中的快取主機。如需有關主要主機的詳細資訊,請參閱 AppFabric 快取功能實體架構圖 (AppFabric 1.1 快取)。
在應用程式組態檔中,每個快取主機的設定都指定在主機元素 (hosts
元素的子系) 中。對於程式設計方式,每個主機都是定義在 DataCacheServerEndpoint 類別的類別建構函式中。具現化之後,那些 DataCacheServerEndPoint 物件就會接著傳遞給 DataCacheServerEndpoint 類別的 Servers 屬性。
設定 | XML 組態位置 | 程式碼組態位置 |
---|---|---|
快取伺服器名稱 |
|
DataCacheServerEndpoint 類別的 HostName 屬性。 |
快取連接埠號碼 |
|
DataCacheServerEndpoint 類別的 CachePort 屬性。 |
本機快取設定
本機快取設定指定是否應啟用本機快取、將本機快取的物件判定為無效的方式、物件逾時,以及是否要使用快取通知將本機快取的物件判定為無效。
在應用程式組態檔中,本機快取設定是在 localCache
元素 (dataCacheClient
元素的子系) 中定義。本機快取是透過程式設計方式與 DataCacheFactoryConfiguration 類別執行個體一起設定,而此執行個體會傳遞給 DataCacheFactory 類別建構函式的建構函式。如需有關本機快取的詳細資訊,請參閱快取用戶端與本機快取 (AppFabric 1.1 快取)。
設定 | XML 組態位置 | 程式碼組態位置 |
---|---|---|
啟用本機快取 |
|
DataCacheLocalCacheProperties 類別的 IsEnabled 屬性。接著它會被指派給 DataCacheFactoryConfiguration 類別的 LocalCacheProperties 屬性。 |
本機快取無效判定方法 |
|
DataCacheLocalCacheProperties 類別的 InvalidationPolicy 屬性。可能的值包括 NotificationBased 與TimeoutBased。 |
本機快取逾時 (秒) |
|
|
指定快取通知輪詢間隔 (秒) |
(選擇性) 透過 |
DataCacheNotificationProperties 類別的 PollInterval 屬性。接著它會被指派給 DataCacheFactoryConfiguration 類別的 NotificationProperties 屬性。 |
本機快取物件計數上限 |
(選擇性) 透過 |
注意
為獲得最佳效能,請只針對甚少變更的物件啟用本機快取。若針對經常變更的資料使用本機快取,可能會造成用戶端使用過時物件的情況增加。雖然您可以降低 ttlValue
,並提高處理序重新整理本機快取的頻率,但讓叢集增加一些負載的所能帶來好處會勝過使用本機快取。在資料經常變更的情況下,最好停用本機快取並從叢集直接提取資料。
通知設定
在應用程式組態檔中,通知內容是定義於 clientNotification
元素 (dataCacheClient
元素的子項) 中。通知內容是透過程式設計方式與 DataCacheFactoryConfiguration 類別執行個體一起設定,而此執行個體會傳遞給 DataCacheFactory 類別建構函式的建構函式。如需詳細資訊,請參閱設定方法。
設定 | XML 組態位置 | 程式碼組態位置 |
---|---|---|
指定快取通知輪詢間隔 (秒) |
透過 |
DataCacheNotificationProperties 類別的 PollInterval 屬性。接著它會被指派給 DataCacheFactoryConfiguration 類別的 NotificationProperties 屬性。 |
佇列長度上限 |
|
安全性設定
在應用程式組態檔中,安全性內容是定義於 securityProperties
元素 (dataCacheClient
元素的子項) 中。安全性內容是透過程式設計方式與 DataCacheFactoryConfiguration 類別執行個體一起設定,而此執行個體會傳遞給 DataCacheFactory 類別建構函式的建構函式。如需詳細資訊,請參閱設定方法。
設定 | XML 組態位置 | 程式碼組態位置 |
---|---|---|
Mode |
|
DataCacheSecurity 類別的 SecurityMode 屬性。可能的值包括 None 與Transport。DataCacheSecurity 物件然後會指定給 DataCacheFactoryConfiguration 類別的 SecurityProperties 屬性。 |
保護層級 |
|
DataCacheSecurity 類別的 ProtectionLevel 屬性。可能值包括 None、Sign 及 EncryptAndSign。 |
傳輸設定
在應用程式組態檔中,傳輸內容是定義於 transportProperties
元素 (dataCacheClient
元素的子項) 中。傳輸內容是透過程式設計方式與 DataCacheFactoryConfiguration 類別執行個體一起設定,而此執行個體會傳遞給 DataCacheFactory 類別建構函式的建構函式。如需詳細資訊,請參閱設定方法。
設定 | XML 組態位置 | 程式碼組態位置 |
---|---|---|
連線緩衝區大小 (位元組) |
|
DataCacheTransportProperties 類別的 ConnectionBufferSize 屬性。接著它會被指派給 DataCacheFactoryConfiguration 類別的 TransportProperties 屬性。 |
緩衝區集區大小上限 (位元組) |
|
|
緩衝區大小上限 (位元組) |
|
|
最大輸出延遲 (毫秒) |
|
|
通道初始設定逾時 (毫秒) |
|
DataCacheTransportProperties 類別的 ChannelInitializationTimeout 屬性。 |
接收逾時 (毫秒) |
|
範例應用程式組態檔
您必須在檔案的 configuration
標記下面,加上 configSections
元素做為第一個元素,才能讓 AppFabric 組件讀取應用程式組態檔中的 XML 元素。在 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