是否有办法使用Azure缓存来确定缓存中是否存在具有特定密钥的对象,而不实际返回对象本身?
我目前正在做类似
的事情 public bool IsKeyInCache(string cacheKey)
{
DataCacheItem item = null;
CacheRetryPolicy.ExecuteAction(() =>
{
item = cache.GetCacheItem(cacheKey);
});
return item != null;
}
但是,因为缓存中的对象非常庞大且反序列化很昂贵,所以性能非常糟糕。
我已经通过MSDN文档挖掘并且没有看到任何替代方案,但也许我错过了一些东西。
到目前为止,我最好的想法是添加一个小标记"对象与我的大对象同时缓存并检查是否存在"标记"反序列化很便宜的对象。但这不是一个强大的解决方案,因为我的大型对象完全有可能从缓存中清除而#34;标记"对象仍然存在
答案 0 :(得分:0)
我相信您正在寻找的API是DataCache.Get(key)
:
windows azure caching - best practice for checking whether a key exist or not
http://msdn.microsoft.com/en-us/library/ff424908%28v=azure.10%29.aspx
但我仍然认为你最好的选择是不“微管理”缓存,只是查询,让Azure决定。
... IMHO