快取角色組態設定 (ServiceConfiguration.cscfg)
摺疊目錄
展開目錄

角色中快取角色組態設定 (ServiceConfiguration.cscfg)

更新日期: 2015年8月

Important重要事項
Microsoft 建議您讓所有新開發使用 Azure Redis 快取。如需選擇 Azure 快取服務的現行文件和指引,請參閱哪個 Azure 快取服務最適合我?

本主題說明 ServiceConfiguration.cscfg 檔案中的可用 Microsoft Azure 快取 設定。這些設定會在目標角色上指定 快取 的設定。當您啟用 Visual Studio 時,快取 中的角色屬性對話方塊會自動設定這些設定。對於想要利用 Visual Studio 的非 快取 雲端服務而言,本主題中的參考資訊最為實用。

下列範例顯示已設定 快取 的基本 ServiceConfiguration.cscfg 檔案。此範例有兩個具名快取:defaultNamedCache1。這可以當作後續參考區段的範例。

<?xml version="1.0" encoding="utf-8"?>
<ServiceConfiguration serviceName="WindowsAzure1" xmlns="http://schemas.microsoft.com/ServiceHosting/2008/10/ServiceConfiguration" osFamily="3" osVersion="*" schemaVersion="2012-10.1.8">
  <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;default&quot;,&quot;policy&quot;:{&quot;eviction&quot;:{&quot;type&quot;:0},&quot;expiration&quot;:{&quot;defaultTTL&quot;:10,&quot;isExpirable&quot;:true,&quot;type&quot;:1},&quot;serverNotification&quot;:{&quot;isEnabled&quot;:false}},&quot;secondaries&quot;:0},{&quot;name&quot;:&quot;NamedCache1&quot;,&quot;policy&quot;:{&quot;eviction&quot;:{&quot;type&quot;:-1},&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}]}" />
      <Setting name="Microsoft.WindowsAzure.Plugins.Caching.ClientDiagnosticLevel" value="1" />
      <Setting name="Microsoft.WindowsAzure.Plugins.Caching.DiagnosticLevel" value="1" />
      <Setting name="Microsoft.WindowsAzure.Plugins.Caching.CacheSizePercentage" value="30" />
      <Setting name="Microsoft.WindowsAzure.Plugins.Caching.ConfigStoreConnectionString" value="UseDevelopmentStorage=true" />
    </ConfigurationSettings>
  </Role>
</ServiceConfiguration>

Microsoft.WindowsAzure.Plugins.Caching.NamedCaches 設定可指定所有快取與其組態設定。此資訊會使用 JSON 語法加以組織。此語法中的雙引號會使用 &quot; 字元實體參考逸出。下列 NamedCaches 值是從上述的完整 ServiceConfiguration.cscfg 檔案取得。

{&quot;caches&quot;:[{&quot;name&quot;:&quot;default&quot;,&quot;policy&quot;:{&quot;eviction&quot;:{&quot;type&quot;:0},&quot;expiration&quot;:{&quot;defaultTTL&quot;:10,&quot;isExpirable&quot;:true,&quot;type&quot;:1},&quot;serverNotification&quot;:{&quot;isEnabled&quot;:false}},&quot;secondaries&quot;:0},{&quot;name&quot;:&quot;NamedCache1&quot;,&quot;policy&quot;:{&quot;eviction&quot;:{&quot;type&quot;:-1},&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; 符號。這種作法可讓您更清楚瞭解此語法,但不能用於 ServiceConfiguration.cscfg 檔案中。

{
    "caches": [
        {
            "name": "default",
            "policy": {
                "eviction": {"type": 0},
                "expiration": {"defaultTTL": 10, "isExpirable": true, "type": 1},
                "serverNotification": {"isEnabled": false}
            },
            "secondaries": 0
        },
        {
            "name": "NamedCache1",
            "policy": {
                "eviction": {"type": -1},
                "expiration": {"defaultTTL": 20, "isExpirable": true, "type": 2},
                "serverNotification": {"isEnabled": true}
            },
           "secondaries": 1
        }
    ]
}

所有具名快取都定義於最上層 caches 欄位中。每個具名快取都是以下列三個欄位來定義。

 

快取欄位 說明

name

指定快取的名稱。

policy

收回、到期和通知設定的原則。

secondaries

定義為了高可用性所要維護的備份複本數。此時,這個值必須是 01。值為 0 可停用高可用性。

policy 欄位包含下列屬性。

 

原則欄位 說明

eviction

包含可指定收回類型的單一欄位 (type)。可能的值為 0 (LRU) 和 -1 (無)。值為 0 可啟用最近最少使用項目的收回。-1 值可停用收回。

expiration

包含三個可描述到期原則的欄位。

  1. defaultTTL:項目在到期之前留在快取中的分鐘數。

  2. isExpirabletrue 值會啟用到期功能,而 false 值會停用到期功能。

  3. type:到期的類型。值為 0 可停用到期功能。值為 1 可指定絕對期限。值為 2 可指定滑動期限。採用滑動期限,每次輕觸快取中的項目就會重設到期時間。

Important重要事項
如果 type 已設定為 0 (停用),則 isExpirable 必須設定為 fasle,而 defaultTTL 必須設定為 0

serverNotification

包含單一欄位 (isEnabled),該欄位指定是否已啟用此快取的通知。

指定 快取 的診斷集合初始層級。此設定是屬於快取用戶端之角色的診斷資訊專用。這可從用戶端的觀點,提供有關快取使用的診斷資訊。請注意,在共置拓撲中,不可能在相同的角色設定中使用 ClientDiagnosticLevel 和 DiagnosticLevel。

<Setting name="Microsoft.WindowsAzure.Plugins.Caching.ClientDiagnosticLevel" value="1" />

指定 快取 的診斷集合初始層級。此設定是主控 快取 之角色的診斷資訊專用。

<Setting name="Microsoft.WindowsAzure.Plugins.Caching.DiagnosticLevel" value="1" />

可用於 快取 的記憶體百分比。在共置拓撲中,此值應是一個沒有百分比符合的整數,例如 30

<Setting name="Microsoft.WindowsAzure.Plugins.Caching.CacheSizePercentage" value="30" />

在專屬拓撲中,此值應是空字串。

<Setting name="Microsoft.WindowsAzure.Plugins.Caching.CacheSizePercentage" value="" />

要用於 Azure 的 快取 儲存體帳戶。此儲存體用於保存有關快取叢集的設定資料,可透過構成快取叢集的所有虛擬機器存取。請注意,下列範例使用開發人員儲存體進行本機偵錯。在部署到雲端之前,您應將此儲存體變更為實際儲存體帳戶。

<Setting name="Microsoft.WindowsAzure.Plugins.Caching.ConfigStoreConnectionString" value="UseDevelopmentStorage=true" />

顯示:
© 2016 Microsoft