在使用Azure Caching时,是否有一种方法可以确定缓存中是否存在具有特定键的对象,而不实际返回对象本身?
我目前正在执行类似以下代码:
public bool IsKeyInCache(string cacheKey)
{
DataCacheItem item = null;
CacheRetryPolicy.ExecuteAction(() =>
{
item = cache.GetCacheItem(cacheKey);
});
return item != null;
}
但是,因为缓存中的对象非常大且反序列化的成本很高,性能非常差。
我查阅了MSDN文档,没有看到任何替代方案,但也许我错过了什么。
我目前最好的想法是在与我的大对象同时将一个小的“标记”对象添加到缓存中,并在反序列化成本较低的位置检查“标记”对象是否存在。但这不是一个强大的解决方案,因为我的大对象有可能被从缓存中清除,而“标记”对象仍然存在。