我有一个ASP.NET应用程序,它广泛使用ASP.NET缓存API来缓存常用数据。另外,我使用基于轮询的sql缓存依赖来跟踪到期。

当前设计的缺点是,在Web场环境中,每个Web服务器都有自己的数据缓存,而不是跨服务器共享。

有没有办法可以简单地迁移代码以跨多个服务器共享数据缓存?

我曾经想过使用memcached,但这对sql缓存依赖无效,对吗?

还有其他解决方案吗?

有帮助吗?

解决方案

您是否看过Windows Server AppFabric(以前的Velocity)。

http://blogs.msdn.com/velocity/

其他提示

您可以使用以下选项 -

  1. 使用此处描述的方法在Web场中同步数据 - http://www.eggheadcafe.com/articles/20030420.asp

  2. 使用分布式缓存方法

  3. 使用企业库缓存。

在我看来, Windows Server AppFabric 正是你的意思正在找。 (AKA <!>“Velocity <!>”;)。来自介绍性文档

  

Windows Server AppFabric提供了一个   分布式内存应用程序   用于开发的缓存平台   可扩展,可用,和   高性能应用程序。   AppFabric融合了多个内存   计算机给一个统一的   缓存视图到应用程序。   应用程序可以存储任何   可序列化的CLR对象没有   担心物体的位置   存储。可扩展性可以通过实现   只需添加更多计算机   需求。缓存也允许   跨越存储的数据副本   集群,从而保护数据免受攻击   故障。它作为一项服务运行   通过网络访问。在   另外,Windows Server AppFabric   提供与之的无缝集成   启用ASP.NET会话的ASP.NET   要存储的对象   分布式缓存而不必   写入数据库。这增加了   兼具性能和可扩展性   ASP.NET应用程序。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top