2013-06-04 58 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

你有一臺服務器嗎?如果是這樣,如果數據太大而無法存儲在數據庫中,則可以將數據存儲爲本地文件。但是,這不會擴展到多個服務器,除非它們在某個地方具有共同的文件訪問權限。否則,像數據庫或分佈式緩存這樣的東西就是最好的選擇。

相關問題