2014-12-05 49 views
0

我在C#.net框架中使用Appfabric缓存版本1.1,并且当前我想要获取与特定对象关联的标记列表被驱逐。当在Appfabric缓存中驱逐对象时,获取与对象关联的标记的详细信息

在做了一些研究之后,我发现我们可以使用Appfabric提供的通知来捕获缓存中的对象的细节。

http://msdn.microsoft.com/en-us/library/ff424507(v=azure.10).aspx (简称微软的Windows Server AppFabric的食谱由哈马德Rajjoub以及)

但是从回调函数获得的细节不包含的,我要检索标记列表。

获取标签列表的主要目的是删除与这些标签相关的所有其他对象,因为我应该存储在缓存中的数据是相关的。

任何想法或不同的方法是值得欢迎的。

+0

只有在显式调用AddItem,ReplaceItem或RemoveItem时才会调用项目级回调,而不是在因缓存项已过期或因群集中存在内存压力而从缓存中逐出项时才调用。你想要处理哪种场景? – stuartd 2014-12-08 15:29:24

+0

@stuartd,当缓存中的内容超过水印级别(低或高)时,我正试图处理这种情况。因此,根据您的评论,还有其他方式可以在驱逐对象时了解与该对象关联的标签。谢谢 – Nayan32 2014-12-12 05:34:35

+0

它应该是可能的,看到我的[回答一个类似的问题](http://stackoverflow.com/a/20121059/43846),但没有什么内置的这样做.. – stuartd 2014-12-12 10:55:32

回答

0

AppFabric不提供已删除项目的元数据。另外,@stuartd提到,当物品因驱逐而被移除时,不会调用回调。

除了Appfabric之外,还有一些缓存解决方案可以提供这样的担忧。像NCache允许注册item level event notifications以及指定通知被触发时所需的信息类型。您可以注册事件通知以仅获取项目元数据。

NCache还允许添加项目的键依赖项以设置依赖于任何其他项目的项目。因此,如果因任何原因删除了依赖项,则所有依赖项都会自动删除。不幸的是,关键依赖功能在AppFabric中也不可用。

相关问题