windows azure缓存-检查密钥是否存在的最佳实践

windows azure缓存-检查密钥是否存在的最佳实践,azure,azure-caching,Azure,Azure Caching,在Windows Azure Caching()中,当有人试图获取未缓存的对象(即,该对象的密钥不存在)时,会引发Microsoft.ApplicationServer.Caching.DataCacheException(错误代码:KeyDoesNotExist) 除了处理DataCacheException,还有什么方法可以检查密钥是否正常存在 谢谢,如果未找到提供的密钥,该方法将返回null 任何其他需要密钥存在的方法(如与锁定相关的方法)都会导致DataCacheException。因此

在Windows Azure Caching()中,当有人试图获取未缓存的对象(即,该对象的密钥不存在)时,会引发Microsoft.ApplicationServer.Caching.DataCacheException(错误代码:KeyDoesNotExist)

除了处理DataCacheException,还有什么方法可以检查密钥是否正常存在

谢谢,

如果未找到提供的密钥,该方法将返回null


任何其他需要密钥存在的方法(如与锁定相关的方法)都会导致DataCacheException。

因此,您是否建议在任何其他方法(需要密钥存在)之前调用DataCache.Get(key)以避免DataCacheException?这不是性能开销吗?Azure缓存旨在提供极低的延迟操作。您使用的是共享缓存(旧样式)还是基于角色的缓存(新样式)?我将使用Get()调用,并与其他方法一样,测量性能以确保安全。感谢您的评论,我正在使用基于角色的缓存。为什么您认为调用Get()方法的成本可以忽略不计?我认为不能因为网络往返成本(可能超过几百毫秒)而忽略它。您认为呢?Get()调用延迟不会是可以忽略的,但我似乎从测试中记得它大约是10毫秒或更短(这可能是您在DataCache上看不到任何异步方法的原因)。同一部署中的实例通常并置在azure数据中心的同一节点上。您知道处理DataCacheException(即密钥不存在)的开销吗?您认为Get()调用延迟(~10ms)是否小于异常处理开销?