2013-06-04 37 views
0

正如我在这里读到的,使用Session对于存储大量数据是不利的。什么使用,而不是会话?

我在控制器的c#中有一个方法,我从javascript文件中调用(使用ajax调用)。这种方法被称为很多次,500左右。在这个方法中,我有一个for循环,循环10次。

我第一次调用它时,我创建了新的会话并将其设置为null。 之后,我把它称为每一个for循环,我将数据添加到会话。

对于小数据,它工作的很好。实际上,即使对于大数据来说也是如此。但问题是 - 通话次数越多,通话越慢。 500次需要5个小时。

我读到这里:Storing large amounts of data in the Asp.net session该会话不利于存储大量数据。

我应该使用什么作为替代方案?

我想过将其保存在分贝,但后来我每次调用该方法的时候,我需要有两个查询到DB:用于重新保存它一个用于获取数据,和两个。

我该怎么做才能让它工作更快?

+1

数据库将是正常的答案。也许你可以提供更多的细节,这样我们就可以准确理解数据库在这种情况下不起作用的原因。你能显示一些代码吗? – mbeckish

+0

我同意mbeckish。如果你不使用数据库,你应该。 –

回答

0

你有一台服务器吗?如果是这样,如果数据太大而无法存储在数据库中,则可以将数据存储为本地文件。但是,这不会扩展到多个服务器,除非它们在某个地方具有共同的文件访问权限。否则,像数据库或分布式缓存这样的东西就是最好的选择。

相关问题