程式設計模型 (Windows Server AppFabric 快取)
Windows Server AppFabric 程式設計模型已針對「另行快取程式設計模式」自訂。這表示若您的資料不存在於快取中,您的應用程式 (而非 AppFabric 分散式快取) 必須重新將資料從原始資料來源載入到快取。應用程式程式碼使用 DataCache 類別 (亦稱為「快取用戶端」) (當該類別具現化之後)。
快取策略
應用程式程式碼必須設計為可獨立於外取之外運作,而非要求快取的資料必須隨時可用。快取中的資料不會長期保留,所以資料有時可能無法使用。
執行叢集時,高可用性功能有助於避免個別快取主機發生電腦或處理序失敗時,叢集的快取功能受到影響。但在某些情況下,可能整個叢集都無法運作。例如,如果有太多主要主機無法使用,整個叢集將會關閉。如需詳細資訊,請參閱主要主機與叢集管理 (Windows Server AppFabric 快取)。
有許多原因會導致您的程式碼遇到快取遺漏的問題:快取項目到期或被收回,快取伺服器重新開機、快取服務重新啟動,或快取叢集意外重新啟動。不論原因為何,若已快取的物件無法使用,應用程式程式碼都必須能存取資料庫 (或其他資料來源)。
快取用戶端
若要在快取中儲存資料,請使用 GetCache 方法或 GetDefaultCache 方法來傳回 DataCache 物件。當它具現化之後,此 DataCache 物件稱為「快取用戶端」。
注意
基於效能考量,我們建議您將使用可進行快取的應用程式建立的 DataCacheFactory 物件數目最小化。在變數中儲存 DataCacheFactory 物件,以供使用快取用戶端之應用程式的所有組件使用。
有許多選項可用來設定快取用戶端的行為。您能以程式設計方式指定這些組態設定,或使用應用程式組態檔來設定,或混合使用這兩種方式。如需有關快取用戶端以及可用之應用程式組態設定的詳細資訊,請參閱 快取用戶端與本機快取 (Windows Server AppFabric 快取)與應用程式組態設定 (Windows Server AppFabric 快取)。
多個快取用戶端可同時存取單一快取。在不同電腦上執行的應用程式可透過將已設定為使用相同快取的快取用戶端具現化,來達成此目的。以下程式碼範例示範此概念。請注意,我們使用註解來識別程式碼在不同快取用戶端執行個體上執行的狀況。
'Each application has a similar GetCache method call
Dim myCacheFactory As DataCacheFactory = New DataCacheFactory()
Dim catalog As DataCache = myCacheFactory.GetCache("catalog")
'One cache client saves an object to the catalog named "toy101"
Call catalog.Put("toy101", New ToyObject("toy101", "Playschool"))
'The same or different cache client retrieves the object
Dim toy As ToyObject = CType(catalog.Get("toy101"), ToyObject)
'The same or a different cache client removes the object
catalog.Remove("toy101")
//Each application has a similar GetCache method call
DataCacheFactory myCacheFactory = new DataCacheFactory();
DataCache catalog = myCacheFactory.GetCache("catalog");
//One cache client saves an object to the catalog named "toy101"
catalog.Put("toy101", new ToyObject("toy101", "Playschool"));
//The same or different cache client retrieves the object
ToyObject toy = (ToyObject)catalog.Get("toy101");
//The same or a different cache client removes the object
catalog.Remove("toy101");
另請參閱
概念
Windows Server AppFabric 快取功能實體架構圖
Windows Server AppFabric 快取功能邏輯架構圖
開發快取用戶端 (Windows Server AppFabric 快取)
2011-12-05