我有一个 ASP.NET 应用程序,它广泛使用 ASP.NET 缓存 API 来缓存常用数据。另外,我正在使用基于轮询的 sql 缓存依赖来跟踪过期。
当前设计的缺点是,在 Web 场环境中,每个 Web 服务器都有自己的数据缓存,而不是跨服务器共享。
有没有一种方法可以简单地迁移代码以在多个服务器之间共享数据缓存?
我曾想过使用 memcached,但它不适用于 sql 缓存依赖项,对吧?
还有其他解决方案吗?
我有一个 ASP.NET 应用程序,它广泛使用 ASP.NET 缓存 API 来缓存常用数据。另外,我正在使用基于轮询的 sql 缓存依赖来跟踪过期。
当前设计的缺点是,在 Web 场环境中,每个 Web 服务器都有自己的数据缓存,而不是跨服务器共享。
有没有一种方法可以简单地迁移代码以在多个服务器之间共享数据缓存?
我曾想过使用 memcached,但它不适用于 sql 缓存依赖项,对吧?
还有其他解决方案吗?
您是否查看过 Windows Server AppFabric(以前称为 Velocity)。
您可以使用以下选项 -
使用此处描述的方法在网络场之间同步数据 - http://www.eggheadcafe.com/articles/20030420.asp
使用分布式缓存方法
使用企业库缓存。
在我看来,Windows Server AppFabric正是您正在寻找的。(又名“速度”)。从介绍性文档:
Windows Server AppFabric 提供了一个分布式内存应用程序缓存平台,用于开发可扩展、可用和高性能的应用程序。AppFabric 融合多台计算机的内存,为应用程序提供一个统一的缓存视图。应用程序可以存储任何可序列化的 CLR 对象,而不必担心对象的存储位置。只需按需添加更多计算机即可实现可扩展性。缓存还允许跨集群存储数据副本,从而保护数据免受故障影响。它作为通过网络访问的服务运行。此外,Windows Server AppFabric 提供与 ASP.NET 的无缝集成,使 ASP.NET 会话对象能够存储在分布式缓存中,而无需写入数据库。