Azure DataCaches和区域

时间:2013-06-20 15:40:54

标签: azure azure-caching

我了解Azure缓存中的区域提供了一种访问缓存中对象的不同方法(除了使用密钥)。

但是,我想知道为什么DataCache.GetAndLock()的版本同时接受键区域。

是否足以识别缓存中的对象?或者我可以在不同区域(在同一DataCache中)具有相同键的对象?

如果我将某个对象添加到某个区域,然后尝试在不指定该区域的情况下(但只有该键)来获取该怎么办?

2 个答案:

答案 0 :(得分:1)

键定义区域中的对象

区域作为指定类似数据应存储在同一缓存服务器上的机制存在。这允许您利用搜索缓存的高速缓存调用并返回一组对象。如果没有区域提供的保证,这些查询可能必须扇出到多个缓存服务器。

如果使用指定区域的重载插入对象,则必须使用未指定区域的方法重载来类似地访问它。这些对象存储在默认缓存中,并不保证它们驻留在单个缓存服务器上。

相反,如果您需要使用缓存的标记和搜索选项,则应将对象插入特定区域并使用指定区域的相应Get操作。

答案 1 :(得分:-1)

更正您的假设:使用region不是访问除key之外的缓存对象的另一种方法。区域用于放入缓存中的对象类型的分叉。这是一个逻辑实体。喜欢购物车。如果您想将与电子设备相关的项目放在一个桶中,您可以将它们放在“电子”区域,但放在该桶中的所有对象都将拥有自己的密钥。您将使用键和区域访问/检索对象。 因此,如果您将对象放入特定区域并且想要该对象的锁定句柄,则可以使用带有键和区域参数的锁定句柄。另外,你可以使用只有关键参数的那个