Share via


Azure 受管理快取服務的快取用戶端組態設定

重要

Microsoft 建議使用 Azure Redis 快取的所有新開發。 如需選擇 Azure 快取供應專案的目前檔和指引,請參閱 哪一個 Azure 快取供應專案適合我?

本主題描述在.NET Framework web.config或app.config組態檔中支援受控快取服務的需求。 同時說明快取用戶端的可用組態選項。

提示

當您將NuGet套件用於受控快取服務時,封裝會自動修改組態檔。 不過,您可以使用本主題進一步自訂NuGet插入的快取用戶端設定。 如需快取NuGet套件的詳細資訊,請參閱使用快取NuGet套件設定快取用戶端

本主題涵蓋下列區段。

  • <configSections>

    • <dataCacheClients>

      • <dataCacheClient>

        • <autoDiscover>

        • <localCache>

        • <clientNotification>

        • <serializationProperties>

        • <securityProperties>

      • <cacheDiagnostics>

        • <crashDump>

Cache Client 組態範例

下列範例顯示與受控快取服務相關的web.config或app.config檔案區段。 在這個範例中,default 快取用戶端正在存取裝載在 mycache.cache.windows.net 的快取,而且已啟用本機快取。

<configuration>
  <configSections>
    <section name="dataCacheClients"
             type="Microsoft.ApplicationServer.Caching.DataCacheClientsSection, 
                   Microsoft.ApplicationServer.Caching.Core" 
             allowLocation="true" 
             allowDefinition="Everywhere" />
    
    <section name="cacheDiagnostics" 
             type="Microsoft.ApplicationServer.Caching.AzureCommon.DiagnosticsConfigurationSection, 
                   Microsoft.ApplicationServer.Caching.AzureCommon" 
             allowLocation="true" 
             allowDefinition="Everywhere" />
  </configSections>
  <dataCacheClients>
    <dataCacheClient name="default">
      <!--To use the in-role flavor of Azure Caching, 
          set identifier to be the cache cluster role name -->
      <!--To use the Azure Caching Service, 
          set identifier to be the endpoint of the cache cluster -->
      <autoDiscover isEnabled="true" identifier="mycache.cache.windows.net" />
      <localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />
      <!--Use this section to specify security settings for connecting to your cache. 
          This section is not required if your cache is hosted on a role that is a part 
          of your cloud service. -->
      <securityProperties mode="Message" sslEnabled="false">
        <messageSecurity authorizationInfo="MyAuthorizationKey" />
      </securityProperties>
    </dataCacheClient>
  </dataCacheClients>
    <cacheDiagnostics>
    <crashDump dumpLevel="Off" dumpStorageQuotaInMB="100" />
  </cacheDiagnostics>
</configuration>

configSections

下列兩個具名 區段 元素應該新增至 configSections 元素中的區段清單。

Name 描述

dataCacheClients

定義組態檔的 dataCacheClients 元素。 這個區段指定所有快取用戶端組態的設定。

cacheDiagnostics

定義組態檔的 cacheDiagnostics 元素。 本節會設定受控快取服務特定的診斷。

下列範例顯示如何定義這些區段。

<section name="dataCacheClients"
          type="Microsoft.ApplicationServer.Caching.DataCacheClientsSection, 
                Microsoft.ApplicationServer.Caching.Core" 
          allowLocation="true" 
          allowDefinition="Everywhere" />
    
<section name="cacheDiagnostics" 
          type="Microsoft.ApplicationServer.Caching.AzureCommon.DiagnosticsConfigurationSection, 
                Microsoft.ApplicationServer.Caching.AzureCommon" 
          allowLocation="true" 
          allowDefinition="Everywhere" />

dataCacheClients

每個 dataCacheClients 元素都包含一或多個具名 dataCacheClient 元素。 dataCacheClients元素沒有任何屬性。 擁有多個快取用戶端組態區段的功能,讓應用程式得以將不同的設定使用於各種快取資料

dataCacheClient

每個 dataCacheClients 元素都包含一或多個具名 dataCacheClient 元素。 應用程式程式碼藉由參考相關聯 dataCacheClient 區段的名稱來載入快取用戶端的設定。

dataCacheClients元素沒有任何屬性。 但是子 dataCacheClient 元素有數個可用的屬性。 下表說明這些屬性。

屬性 描述

名稱

快取用戶端組態的名稱。

isCompressionEnabled

啟用或停用壓縮。 可能的值包括 truefalse。 預設值為 false (停用)。

useConnectionPool

啟用或停用連線集區。 可能的值包括 truefalse。 預設值為 true (啟用)。

maxConnectionsToServer

當 useConnectionPool設定為 true 時,這個屬性會指定此快取用戶端組態的連接集區中的連線數目。 當 useConnectionPool設定為 false 時,這個屬性會指定程式碼中每個DataCacheFactory物件要使用的連線數目。

下列各節說明每個 dataCacheClient 元素內可用的子項目。

autoDiscover

autoDiscover元素可協助快取用戶端自動連線到目標快取。

下表描述 autoDiscover 元素的可用屬性。

屬性 描述

isEnabled

設定為 truefalse ,以啟用或停用裝載受控快取服務角色的本機自動連線。

identifier

對於受控快取服務,它是快取端點的名稱。

對於In-Role快取,它是裝載In-Role快取之相同雲端服務部署中的角色名稱。

<autoDiscover isEnabled="true" identifier="mycache.cache.windows.net" />

localCache

localCache元素會控制本機快取的使用。 預設不會啟用本機快取。 若已啟用,從快取擷取的項目會以本機方式儲存在用戶端機器的記憶體中。 這樣可改善後續 Get 要求的效能,但可能會導致本機快取版本與快取中實際項目之間的資料不一致。 如需詳細資訊,請參閱Azure 受控快取服務的本機快取

下表描述 localCache 元素的可用屬性。

屬性 描述

isEnabled

設定為 truefalse,以啟用或停用本機快取。

同步

決定如何將本機快取被判定為無效。 可能的值是 TimeoutBasedNotificationBased

objectCount

儲存於本機快取中的物件數目上限。 預設值為 10000。

ttlValue

物件停留在本機快取中的秒數。 預設為 300 秒。

注意

標準版和進階版快取供應項目中支援通知,必須設定這些供應項目中的具名快取才能啟用通知。 如需詳細資訊,請參閱Azure 受控快取服務的通知

<localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />

clientNotification

下表描述 clientNotification 元素的可用屬性。 此元素負責控制快取用戶端的通知行為。

屬性 描述

pollInterval

輪詢嘗試之間的秒數。 輪詢用於檢查快取上的通知。 預設值為 300 秒。

maxQueueLength

在輪詢嘗試之間,為此快取用戶端排入佇列的通知數上限。 預設值為 10000 個通知。

<clientNotification pollInterval="60" maxQueueLength="10000"/>

serializationProperties

下表描述 serializationProperties 元素的可用屬性。 此元素支援內建選項或快取項目的自訂序列化。 如需詳細資訊,請參閱Azure 受控快取服務的序列化

屬性 描述

序列化程式

判斷快取項目的序列化類型。 可能的值是 NetDataContractSerializerBinaryFormatterCustomSerializer。 預設值為 NetDataContractSerializer

securityProperties

下表描述 securityProperties 元素的可用屬性。

屬性 描述

mode

可能的值包括 NoneTransportMessage。 只有 Message 受控快取服務 才支援。 其他兩個設定則與 Microsoft AppFabric 1.1 for Windows Server相關。

sslEnabled

可能的值是 truefalse。 本設定用來判斷快取和快取用戶端間的通訊是否加密。 預設值為 false。 如需詳細資訊,請參閱 保護快取用戶端與快取之間的通訊

securityProperties元素具有子項目messageSecurity。 下表描述 messageSecurity 元素的可用屬性。

屬性 描述

authorizationInfo

快取的存取金鑰可以從 中的快取儀表板中擷取。 苦並未設定完整,快取用戶端無法和快取建立通訊。

<securityProperties mode="Message" sslEnabled="false">
  <messageSecurity authorizationInfo="iz8zOmJ0dJBzzzzxa8JxdGJkb281bzxudGF0az9udGxzdGluZi111z8oZS5Ji28lP38jb250Pm9sLmludDMud2luZG93Pi1pb8Qubmx0L1dSQxB2MP45LiZxd25lPii0eDJJZQA5SlZQQUQ2xzIizk8iazlES1P08X8zOFIxZjdzZxp0i3lFQ2FFPSZodJRzOi8xS8JxdGJEb281bzxudGF0az9uxGxzdGluZi5jiz8oZS5pb8QzL8dpbmRxd3MQaz50Lm5ldA==" />
</securityProperties>

cacheDiagnostics

本節會設定受控快取服務的一些診斷設定。

警告

在受控快取服務版本中,本主題所述的cacheDiagnostics和相關章節僅適用于角色型雲端服務快取用戶端。 若您的快取用戶端並非雲端服務,則快取 NuGet 封裝不會新增這些區段。 如需詳細資訊,請參閱關於 Azure 受控快取服務的 ClientDiagnosticLevel

下列各節說明每個 cacheDiagnostics 元素內可用的子項目。

crashDump

crashDump元素會控制為此應用程式收集的損毀傾印類型。 受控快取服務損毀傾印主要是設計來診斷快取機器的問題。 基於這個理由,用戶端組態檔應關閉損毀傾印的產生。 您可以將 dumpLevel 屬性設定為 Off 來完成。

啟用損毀傾印時,應該在 ServiceDefinition.csdef 中調整快取本機存放區和診斷存放區,確保大小一定大於 CacheSettings.xml 中設定的損毀儲存體配額和記錄檔儲存體配額的總和 (預設值為 1000 MB)。

下表描述 crashDump 元素的可用屬性。

屬性 描述

dumpLevel

可能的值包括 OffMiniFull

dumpStorageQuotaInMB

損毀傾印大小的上限。

scheduledTransferPeriodInMinutes

損毀傾印移轉至診斷存放區之間的分鐘數。

<crashDump dumpLevel="Off" dumpStorageQuotaInMB="100" scheduledTransferPeriodInMinutes="5" />