进程外缓存

时间:2011-03-19 05:07:07

标签: .net asp.net wcf caching

我有一个.NET网站,每隔3秒使用Entity Framework查询数据库,以获取使用AJAX的事务状态并更新页面。此状态由外部客户端使用托管在另一台服务器上的RESTful Web服务设置。

我想避免每个事务每3秒钟访问一次数据库,所以希望将这些信息缓存在内存中。 REST Web服务更新缓存和网站从中读取。是否有可用于加速性能的FOSS或商业进程外共享缓存库?

4 个答案:

答案 0 :(得分:4)

您可以考虑使用Windows Server AppFabric。

Windows Server AppFabric提供分布式内存中应用程序缓存平台,用于开发可伸缩,可用和高性能的应用程序。 AppFabric将内存融合到多台计算机上,为应用程序提供单一的统一缓存视图。应用程序可以存储任何可序列化的CLR对象,而无需担心对象的存储位置。只需按需添加更多计算机即可实现可扩展性。缓存还允许跨群集存储数据副本,从而保护数据免受故障的影响。它作为通过网络访问的服务运行。此外,Windows Server AppFabric提供与ASP.NET的无缝集成,使ASP.NET会话对象能够存储在分布式缓存中,而无需写入数据库。这样可以提高ASP.NET应用程序的性能和可伸缩性。

答案 1 :(得分:1)

memcached是最受欢迎的广告之一。

答案 2 :(得分:0)

另一个选项是Coherence。基于Java,但在Windows上运行,并具有.NET客户端。

答案 3 :(得分:0)

您可以在命名管道模式下使用.net远程处理通道。如果缓存数据表或数据集,则必须实现自己的序列化以获得更好的性能。