2012-01-02 76 views
1

我一直在阅读关于appfabric缓存。其中一项功能是标记缓存条目。这对于什么有用?一些示例提到标记产品的类别,然后使用标签查询该类别中的所有产品。但我不明白这是如何工作的,因为我没有看到如何保证所有产品实际上都在缓存中,通过标记事物而使整个查询变得毫无用处。我在这里错过了什么?appfabric缓存标签背后的想法

回答

1

为了解决您的'如何保证所有产品都在缓存中',我认为这是一个完全有效的批评。当我完成标记功能的演示时,我已经在应用程序启动时将所有产品加载到缓存中,并对其进行适当标记 - 这是我提出的唯一可靠方法。

关于什么标记是有用的,我认为它给你额外的选项从缓存中检索项目。请记住,您可以为每个缓存项目分配一个IEnumerable<DataCacheTag>,以便跟随产品示例,以及可以向供应商标记每个项目的类别,或者跨越跨越的一组产品类别,例如'FreeDelivery'或'LowStock'。

或根据您向用户展示的方式,您可以将深入到一组产品中,从而构建一组标签以搜索缓存,例如,从'男装'开始,然后添加'针织',然后'颜色:黑色',然后'尺寸:L',向用户展示一组较窄的产品,每个标签添加到搜索中。

+0

是的我明白它的作用,但我不明白它如何匹配缓存抛开模式。看起来就像是一系列被淘汰的功能中的剩余部分。让我们来看看vNext带来什么... – olle 2012-01-03 19:11:13

0

标签是您可以用来对缓存项目进行分类的机制之一。如果您有一组包含可能相互关联的数据的缓存键,这可能很有用。如果您更新了其中一个密钥的数据,则还需要确保其他密钥已失效,以确保消费者不会从缓存中获取不一致的数据。另一种方法是创建一个仅包含相关密钥的缓存区域。