本文件已封存並已停止維護。

Azure 角色中快取中的本機快取

更新日期: 2015年8月

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

本機快取是 Microsoft Azure 快取 的功能,可減少遠端快取的網路要求,進而改善效能。Microsoft Azure 快取 會以序列化形式將物件儲存在多部伺服器之間分散的記憶體中快取內。當應用程式向快取要求物件時,就會識別儲存該物件的伺服器。接著,該伺服器會透過網路將序列化物件傳送至要求的應用程式。然後,應用程式會還原序列化物件,以便使用。為加速擷取物件的程序,請使用本機快取。

啟用本機快取之後,快取用戶端會將物件的參考儲存至本機。這個本機參照可在用戶端應用程式的記憶體中將物件維持為作用中狀態。當應用程式要求該物件時,快取用戶端會檢查該物件是否位於本機快取中。若物件位於本機快取,則系統會立即傳回該物件,而不會連線到伺服器。若物件不在本機快取中,則會從伺服器擷取物件。快取用戶端接著會將物件還原序列化,並將新擷取之物件的參考儲存在本機快取中。用戶端應用程式會使用這個相同的物件。

本機快取中物件的存留期取決於本機快取中的物件數目上限以及無效判定原則。本機快取有兩種無效判定類型:「逾時型無效判定」和「通知型無效判定」。如需詳細資訊,請參閱Azure 角色中快取中的逾期和收回

您可以使用 web.config 或應用程式設定檔來啟用和設定本機快取。您可以將 localCache 元素新增到 dataCacheClient 區段。下表列出 localCache 元素的屬性。

 

屬性 說明

isEnabled

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

sync

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

objectCount

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

ttlValue

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

TimeoutBasedsync 值可以保留本機快取的物件,直到到達 ttlValue 限制為止。除了以逾時為基礎的機制之外,NotificationBased 的值還會使用通知。若要使用無效判定的通知,請啟用適用於快取的通知。通知的輪詢間隔會檢查,以查看本機快取中的項目是否已變更。通知的有效輪詢間隔必須比 ttlValue 設定還短才會產生作用。有一個新增元素 (clientNotification) 可用來設定通知的輪詢間隔,作法是將 pollInterval 屬性設定為秒數。 預設值是 300 秒。

note附註
通知是 角色中快取 角色中所主控之快取中唯一支援的 Azure 功能。

下列範例展示 dataCacheClient 區段,此區段會使用本機快取並搭配五分鐘 (300 秒) 的逾時型本機到期時間。

    <dataCacheClient name="default">
      <!-- Other configuration settings for cache -->
      <localCache isEnabled="true" sync="TimeoutBased" objectCount="100000" ttlValue="300" />
    </dataCacheClient>

下列範例展示變更上一個 dataCacheClient 區段,使用通知,透過每分鐘 (60 秒) 輪詢來提供其他同步處理。只有角色型 角色中快取 才支援通知。

    <dataCacheClient name="default">
      <autoDiscover isEnabled="true" identifier="WebRole1" />
      <localCache isEnabled="true" sync="NotificationBased" objectCount="100000" ttlValue="300" />
      <clientNotification pollInterval="60" />
    </dataCacheClient>

若要下載使用本機快取的範例,請參閱快取 API 和效能範例

另請參閱

顯示: