存储大量数据的最快方式(C#ASP.net)

存储大量数据的最快方式(C#ASP.net),c#,asp.net-mvc,.net-3.5,caching,C#,Asp.net Mvc,.net 3.5,Caching,我正在使用的一个Web服务返回一个结果集,该结果集相当于大约66980行XML,.net将其作为列表对象返回 由于用户的旅程要求,如果他们退后一页,我们可以重新加载此结果集,那么在不降低速度的情况下,存储每个用户的此结果集的最快/最佳方式是什么 助教 -- 许多解决方案: 我将使用memcache作为缓存查询的一般方式。最好的方法是它可以跨节点工作(以防您有更多的web服务器)。将它保存到HttpContext.Current.Cache,键入用户id,可能类似于“MyXml\u UserId”

我正在使用的一个Web服务返回一个结果集,该结果集相当于大约66980行XML,.net将其作为列表对象返回

由于用户的旅程要求,如果他们退后一页,我们可以重新加载此结果集,那么在不降低速度的情况下,存储每个用户的此结果集的最快/最佳方式是什么

助教

-- 许多解决方案:

我将使用memcache作为缓存查询的一般方式。最好的方法是它可以跨节点工作(以防您有更多的web服务器)。

将它保存到HttpContext.Current.Cache,键入用户id,可能类似于“MyXml\u UserId”。

我只需要注意,您的问题并不是web服务独有的。您可以很容易地从数据库中检索到该列表,并且您仍然希望缓存该列表,这样您就不必再次访问该数据库。

使用memcache比使用HttpContext.Current.cache有什么优势吗?或者说Sessionmemcache可以从多个节点(Web服务器)使用。通过这种方式,每个Web服务器不再计算每个(已知)答案。谢谢,我们这个项目只有一台服务器,结果集是从13000(ish)随机抽取的返回的记录大约500个,因此必须限制为每个用户的缓存。使用HttpContext.Current.cache比使用memcache有什么优势,或者说在宿主arcitecture上使用sessionDependes。我会避免会话,因为它仅限于唯一的页面服务器(除非您将其保存回db)。如果您只在一台主机上运行,会话可能就可以了。我不知道memcache的情况。会话可以由SQL Server自动备份,也可以备份到单独的状态服务器。是的:“(除非您将其保存回db)”这两个答案在技术上都是正确的;答案不是很快,但我认为两者之间的差距很小,所以我勾选了我目前用于测试的那一个很多感恩的话,我想我会说得太冗长了。