適用於 Azure 受管理快取服務的區域和標籤

重要

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

Microsoft Azure Cache 支援建立和使用使用者定義區域。 區域是快取項目的子群組。 區域也支援含有名為標籤之額外描述性字串的快取項目註釋。 區域支援對該區域內的任何標記項目執行搜尋作業的能力。

區域考量

區域是選擇性的;如果您想要使用它們,請使用 CreateRegion 方法在程式碼中明確建立它們。 建立區域之後,您可以將標籤新增至要插入該區域的物件中。 AddPut方法上有多載可接受區功能變數名稱稱。 若要搜尋具有指定標記的物件區域,請使用 GetObjectsByTagGetObjectsByAnyTagGetObjectsByAllTags方法。

在受控快取服務中,快取的記憶體會分散到服務的不同區域。 由於搜尋功能的架構需求,區域中的物件會位於快取服務中的單一記憶體區域中。 若已啟用高可用性,則該區域的備份會存在於該快取服務的不同記憶體區域中。 此行為與未使用區域的案例不同 在該案例中,快取中的新項目會散佈於快取服務的所有記憶體區域中。

警告

由於區域中的所有項目都必須位於相同的快取服務記憶體區域中,若可能,則會從快取收回項目,即使系統顯示仍有足夠的剩餘記憶體。 潛在地使用多個相同的區域以了解區域和標記的優點。

範例

下列範例展示如何建立名為 Test 的區域。

DataCache cache = new DataCache("default");
cache.CreateRegion("Test");

下列範例展示如何將這三個物件新增至含有標籤的 Test 區域。

List<DataCacheTag> tagList1 = new List<DataCacheTag>()
{ 
    new DataCacheTag("Tag1"),
    new DataCacheTag("Tag2")
};
List<DataCacheTag> tagList2 = new List<DataCacheTag>()
{
    new DataCacheTag("Tag3")
};
cache.Put("Key1", "Value1", tagList1, "Test");
cache.Put("Key2", "Value2", tagList1, "Test");
cache.Put("Key3", "Value3", tagList2, "Test");

下列範例展示如何針對所有含 Test 標籤的物件搜尋 Tag1 區域。

foreach (KeyValuePair<string, object> result in 
    cache.GetObjectsByTag(new DataCacheTag("Tag1"), "Test"))
{
    string keyValue = result.Key;
    string objectValue = result.Value.ToString();
}

另請參閱

其他資源

Azure 受管理快取服務功能