0

我的网站正在运行。但是,有许多客户端调用服务器以获取将连接到数据库以检索的数据。为了提高数据库的性能,我需要在 Web 服务器中实现缓存。

我应该在数据访问或模型层实现它。我正在使用 ASP.NET MVC。谢谢。

4

1 回答 1

2

Web 应用程序中可能有 2 个级别的缓存:

  1. 缓存整个动作或 HTML 片段
  2. 缓存数据访问操作的结果对象

第一种情况是通过使用[OutputCache]属性装饰动作/子动作来实现的。

第二个更细粒度,这取决于您的设置。例如,如果您使用的是 NHibernate 之类的 ORM,那么您的 ORM 可能已经支持缓存。例如 NHibernate 支持二级缓存,甚至可以使用缓存提供程序进行外部化。因此,如果您使用 ORM,请查看您的 ORM 文档以查看它是否支持此类缓存功能。

如果您的 ORM 不支持缓存或者您根本没有使用 ORM,那么您可以自己构建缓存。这可以在您的服务层实现,您可以在其中注入一些缓存提供程序作为依赖项,并且当您的服务查询您的存储库时,使用提供程序缓存这些存储库返回的结果。

于 2012-07-04T13:04:56.780 回答