销售电话: 1-800-867-1380

Azure 托管缓存服务的区域和标记

更新时间: 2014年9月

note备注
有关为你的应用程序选择合适的 Azure 缓存产品/服务的指导,请参阅 哪种 Azure Cache 产品/服务适合我?

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

区域是可选的;如果要使用区域,需要在代码中使用 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();
}

另请参阅

本文是否对您有所帮助?
(1500 个剩余字符)
感谢您的反馈
显示:
© 2015 Microsoft