C# ASP.NET MVC将SQL结果缓存到XML文件

C# ASP.NET MVC将SQL结果缓存到XML文件,c#,asp.net,xml,asp.net-mvc,C#,Asp.net,Xml,Asp.net Mvc,在使用ASP.NET MVC和SQL Server时,我们想知道缓存到XML是否仍然是需要考虑的问题,或者它们是否有其他可能实现这一点 例如,我们有一个名为Customers的表。如果每次单击客户或在应用程序中进行排序或筛选时都调用此db表,为什么不将此信息存储在xml文件中 然后只处理xml文件,而不处理db,并在向customers表添加更改后更新xml。这绝对是一个绝妙的想法 如果: 你只有一个客户 或者您有多个客户端,但他们不介意查看旧数据 您有一个不提供缓存可能性的数据库系统 您不使

在使用ASP.NET MVC和SQL Server时,我们想知道缓存到XML是否仍然是需要考虑的问题,或者它们是否有其他可能实现这一点

例如,我们有一个名为
Customers
的表。如果每次单击客户或在应用程序中进行排序或筛选时都调用此db表,为什么不将此信息存储在xml文件中


然后只处理xml文件,而不处理db,并在向customers表添加更改后更新xml。

这绝对是一个绝妙的想法

如果:

  • 你只有一个客户
  • 或者您有多个客户端,但他们不介意查看旧数据
  • 您有一个不提供缓存可能性的数据库系统
  • 您不使用可以为您处理缓存的数据库访问框架
简言之,不,这实际上几乎从来都不是一个好主意

数据库是为使用而设计的。只要你善待他们,他们中的大多数人都能处理比程序员想象的更高的负载。如有必要,它们中的许多都提供了完美的缓存可能性,以便在需要时提高性能


应用程序中任何有用的缓存类型都应该包括在发生任何更改时刷新该缓存。独自实现这一点通常不是一个好主意。如果您确实想要一个非常简单的数据缓存,而该缓存在用户单击离开之前就在屏幕上,那么内存将是它的位置,而不是文件系统。除非您需要集中式会话缓存,但这远远超出了“让我们编写一些xml”的范围。

缓存到xml文件是一个糟糕的选择。如果表中有50000条记录,数据库系统可以在5秒内处理100个用户的负载。如果您想要比这更快的速度,那么尝试使用内存中的sql,它将数据存储在RAM中,以便快速访问。但对于它,您需要服务器上的高RAM容量。

从数据库访问要比从xml和数据库访问快,您可以让多个用户进行更改,而xml只是一个用户。若内存中有xml,那个么可以从数据库中一次更改一个元素。但要限制对文件进行读写所需的时间。