我们将提前填充缓存,而不是按需填充缓存,并且有一个有效的ContainsKey等效,仅测试是否存储特定密钥,没有序列化/反序列化的开销,并通过来自Get(key) != null
的线路提取内容。
奇怪的是,我无法在API中找到任何可以实现此目的的内容。有没有人知道一个解决方法?标签不是一个选项,因为它们需要命名区域,我们确实需要分布式缓存的静音。
答案 0 :(得分:0)
不幸的是,在Windows Server AppFabric中没有这样做的方法(在Azure缓存中都没有)。
你能做的最好的就是像这样的扩展方法
public static bool Contains(this DataCache dataCache, string key)
{
return dataCache.Get(key) != null;
}
您必须支付序列化税,这可能会有问题。这取决于你的背景。
我所知道的唯一解决方法是使用区域:CreateRegion如果区域已存在则返回false。从来没有测试它如何扩展,但我不这么认为。