Azure缓存 - 如何确定密钥是否在缓存中?

时间:2013-11-22 21:59:41

标签: c# azure-caching

是否有办法使用Azure缓存来确定缓存中是否存在具有特定密钥的对象,而不实际返回对象本身?

我目前正在做类似

的事情
    public bool IsKeyInCache(string cacheKey)
    {
        DataCacheItem item = null;
        CacheRetryPolicy.ExecuteAction(() =>
        {
            item = cache.GetCacheItem(cacheKey);
        });

        return item != null;
    }

但是,因为缓存中的对象非常庞大且反序列化很昂贵,所以性能非常糟糕。

我已经通过MSDN文档挖掘并且没有看到任何替代方案,但也许我错过了一些东西。

到目前为止,我最好的想法是添加一个小标记"对象与我的大对象同时缓存并检查是否存在"标记"反序列化很便宜的对象。但这不是一个强大的解决方案,因为我的大型对象完全有可能从缓存中清除而#34;标记"对象仍然存在

1 个答案:

答案 0 :(得分:0)

我相信您正在寻找的API是DataCache.Get(key)

但我仍然认为你最好的选择是“微管理”缓存,只是查询,让Azure决定。

... IMHO