导出 (0) 打印
全部展开

区域和标记(Azure 缓存的角色中缓存)

更新时间: 2010年7月

角色中缓存支持创建和使用用户定义的区域。此功能可用于驻留在基于角色的角色中缓存中的缓存。区域是缓存项目的一个子组。区域还支持使用附加的描述性字符串(称为标记)对缓存项目进行注释。区域支持对该区域中的任何标记项目执行搜索操作的功能。

note备注
Microsoft Azure Shared Caching不支持区域和标记。

区域是可选的;如果要使用区域,需要在代码中使用 CreateRegion 方法显式创建它们。创建区域后,可以为插入该区域的对象添加标记。在接受区域名称的 AddPut 方法上有重载。若要在区域中搜索具有给定标记的对象,请使用方法 GetObjectsByTagGetObjectsByAnyTagGetObjectsByAllTags

由于搜索功能的体系结构要求,区域中的对象被限制在单个缓存服务器中。在 部署中,这意味着整个区域位于单个服务器上。如果启用了高可用性,则区域的备份存在于其他服务器上。在 中,这些服务器是托管角色中缓存的角色的虚拟机实例。此行为不同于未使用区域的方案。在该方案中,分布式内存中缓存中的新项目将放置在任何可用的缓存服务器上。

Warning警告
区域必须以其中一个缓存服务器上的单个实体的形式存在。因此,任何单个角色实例上可用的缓存内存量必须大于最大预期区域。可能会使用多个较小的区域来实现区域和标记的优点以及分布式缓存的优势。

以下示例显示了如何创建名为 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();
}

另请参阅

Microsoft 正在进行一项网上调查,以了解您对 MSDN 网站的意见。 如果您选择参加,我们将会在您离开 MSDN 网站时向您显示该网上调查。

是否要参加?
显示:
© 2014 Microsoft