ASP.NET - 如何处理分布式缓存中的关系数据

伊克巴尔汗

微软 .NET Framework 已经流行用于开发一系列高事务应用程序,包括 Web、面向服务的架构 (SOA)、高性能计算或网格计算以及云计算。 所有这些应用程序架构都是可扩展的。 但是数据存储(通常是关系数据库)出现了一个主要瓶颈,它无法像应用程序层那样扩展和处理增加的事务负载。

结果,分布式缓存变得非常流行,因为它允许您将数据缓存在内存缓存中,这比任何数据库的访问速度都要快得多。 此外,分布式缓存提供跨多个缓存服务器的线性可扩展性。 借助线性可扩展性,如果您需要处理更大的事务负载,您可以将更多缓存服务器添加到分布式缓存集群。 事务容量的增量增益不会随着您添加更多服务器而减少(它是 XY 图中的一条直线,其中 X 是缓存服务器的数量,Y 是事务容量)。 图 1 显示了分布式缓存如何适应典型的 ASP.NET 或 Windows Communication Foundation (WCF) 应用程序,以及它如何提供线性可伸缩性。

阅读全文

在本文中,我将讨论开发人员在缓存数据时应如何处理数据关系。

尽管分布式缓存很棒,但它提出的一项挑战是如何缓存数据元素之间具有各种关系的关系数据。这是因为分布式缓存为您提供了一个简单的、类似哈希表的(键,值)接口,其中“键”唯一标识缓存的项目,“值”是您的数据或对象。然而,您的应用程序可能有一个复杂的域对象模型,具有继承、聚合和其他类型的关系。

此外,分布式缓存单独存储各个缓存项,这与不同表之间存在关系的数据库不同。通常,典型的分布式缓存中的不同缓存项之间没有关系。这给 .NET 应用程序开发人员带来了挑战。换句话说,您面临的挑战是跟踪应用程序内的大量关系信息,以确保您可以在缓存中正确处理关系,同时利用分布式缓存。

阅读全文

联系我们

联系电话
©版权所有 Alachisoft 2002 - 版权所有。 NCache 是 Diyatech Corp. 的注册商标。