【问题标题】:distributed caching (AppFabric) and cache dependencies分布式缓存 (AppFabric) 和缓存依赖项
【发布时间】:2012-10-22 07:38:42
【问题描述】:

是否可以在 AppFabric 或任何其他分布式缓存系统中拥有“缓存依赖项”,类似于使用 ASP.Net 的 HttpRuntime 缓存,使用 CacheDependency 类可以做的事情?

这个范围是说一个用户控件附加到缓存的“键”。如果缓存条目更改,则用户控件无效并重新加载自身。这可能吗?

【问题讨论】:

  • @Cyber​​maxs 虽然看起来像重复,但所选的答案实际上有点误导。从我发布这个问题开始,我已经对该主题进行了很多研究,并且确实通过 AppFabric 缓存通知回调提供了解决方案,这是该技术的最新补充。我将在此处发布此答案以供其他用户将来参考。

标签: asp.net caching appfabric


【解决方案1】:

经过一些研究和测试 - AppFabric 确实支持与上述类似的东西,称为“缓存通知回调”。基本上,您可以附加到缓存的项目/区域,当缓存更改时系统会引发事件。

但是,此类通知不是即时的,而是使用“轮询”机制。这是必须牢记的,因为起初我认为该系统无法正常工作。默认轮询时间为 300 秒(5 分钟),因此可能需要一些“时间”才能获得通知。这可以更改为任何其他间隔,尤其是对于测试。

我已经试过了,可以确认它的工作原理。详细实现方法见 MSDN 链接:http://msdn.microsoft.com/en-us/library/ee808091(v=azure.10).aspx

【讨论】:

  • 但是 appfabric 缓存通知回调与使用 CacheDependency 类的 Asp.net Http 运行时缓存不同。使用 cachedependency,您可以列出缓存项的依赖项,当这些依赖项中的任何一个将过期时,您的缓存项也将过期,但 appfabric 回调通知并非如此。在 appfabric 中,您只会收到有关缓存项目的通知,并且没有对列出依赖项的开箱即用支持
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多