AppFabric与System.Runtime.Caching的区别

5
TLDR版本:在我的.NET4 WCF服务中缓存许多小型且很少更改的数据库表格,哪种技术最容易实现、最易于维护、性能最佳,为什么?
长版本:我正在为一个新项目制定缓存策略。以前很简单,因为可用的预打包选项较少(例如Enterprise Library),但现在有了.NET 4框架和AppFabric,我很难决定采用哪种解决方案。基本上,我想要缓存许多小型(<100行,2-4列)的数据库表格,这些表格很少更改,并使我的WCF服务从缓存中获取数据,而不是每次都从数据库中获取。我已经开始阅读文档、观看视频和下载培训材料,但经验是最好的老师,我很难找到这两者之间的比较。
任何建议都将不胜感激!谢谢!
1个回答

10

据我理解,AppFabric是一个分布式,高可用的应用程序间缓存平台。

相比于经典的ASP.NET缓存或其他本地缓存系统,这意味着IPC会比进程内缓存和进程调用慢,但有一个很大的优点,多个应用程序可以访问同一缓存集群(如果需要),并且在IIS中重新启动应用池或整个Web服务器时不会失去缓存(前提是您在基础架构中设计了专用缓存服务器)。

由于其高可用性和集群化,如果缓存服务器失败,则其他服务器仍将服务于请求。

启用本地缓存后,客户端仍可以在本地缓存数据,但一旦它们失效或本地缓存无效,数据将从缓存集群中检索,而不是直接从数据库中检索,除非确实需要。

我认为这里存在权衡,在决定公司是否更好拥有IPC调用稍微慢一点,但具备可靠性和共享缓存集群。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接