0

我正在使用带有 sql server 2008 r2 的 asp.net

我正在建立一个网站,用户可以在其中根据数据库中的信息运行报告。对于其中一份报告,我有大约 6 个复选框列表,它们根据数据库中的信息动态加载,然后用户可以选择某些框来缩小报告中包含的信息范围。

填充这些复选框列表的数据不会更新,而是每隔几天更新一次。现在,我在每个复选框列表的初始化控件事件中加载了复选框。每次我选择一个不同的选项卡然后返回到包含这些复选框列表的选项卡时,它似乎每次都会重新加载复选框列表,这很慢并且大约需要 6-10 秒。

我是缓存新手,这是否有助于缓存加载到复选框列表中的数据,以便站点不需要执行连续加载?

4

2 回答 2

1

是的,在这种情况下,缓存会有所帮助。

您可以在此处阅读有关缓存应用程序数据的更多信息:http: //msdn.microsoft.com/en-us/library/6hbbsfk6 (v=vs.100).aspx

您可以在数据访问层缓存,然后您的逻辑将是:

  • 获取复选框数据
    • 检查数据是否存储在缓存中
      • 如果是,请退回
      • 如果没有,请访问数据库,将结果存储在缓存中,然后返回。

有关如何添加到缓存和从缓存中读取的具体信息,请参见上面的链接。

于 2012-10-04T14:14:47.490 回答
0

是的 如果您的复选框通过 Ajax 加载数据,那么您可能应该使用 ASP.NET 输出缓存功能。

如果您在服务器上呈现它们 - 您可以将数据存储在某个 DataObject(单个对象或某个对象的静态字段)中,以便您的服务器服务的所有请求都可以使用它。

您可以将此功能包装在一个单例对象中,在初始化时从数据库加载数据,然后在每次获取数据时检查是否应该重新加载(并在需要时重新加载)

于 2012-10-04T14:12:52.607 回答