2013-10-24 2 views
0

Я создаю веб-портал в asp.net 4.0, где мне нужно отправить HTTP-запрос на сторонний сервер и получить большой объем набора результатов, который должен быть специфичным для пользователя. Моя проблема заключается в том, где я храню эти данные временно?Работа с большим количеством данных

Есть ли лучший способ хранения больших результатов на временной основе?

Ответ, который мы получаем от http webrequest, относится к различным пользователям (запрос), и мы должны хранить данные до тех пор, пока пользователь не совершит покупки или бронирования, поэтому не знаю, как долго мы сохраняем данные.

добавить больше:

Мы thhinking использовать объект сеанса, но из-за большой объем данных, мы не можем использовать его, как он будет потреблять память сервера.

Второй вариант, мы можем использовать реляционную базу данных sql, но веб-сайт потребляет данные из ответа httpweb, поэтому мы не контролируем стороннюю службу.

+0

Необходимо ли использовать код сервера для использования этих данных при последующих запросах? – David

+0

также, как «свежий» данные на портале должны быть? Является ли это в основном статическим/нерегулярно измененным? –

+1

Что вы делаете с этими данными? Как долго вам нужно держаться за это? Возможно ли сохранить его в памяти на время запроса или даже это невозможно? – Servy

ответ

1

Session обычно хранится в памяти сервера и, следовательно, не является отличным местом для хранения больших объемов данных. Я бы предложил таблицу SQL, но все вещи относительны ... Насколько велики эти данные? Если у вас более одного веб-сервера, состояние сеанса, скорее всего, было перенесено на SQL, поэтому лучше туда напрямую.

+0

У нас есть только один сервер и размер данных составляет от 100 МБ до 500 МБ, но не уверен, потому что он полностью зависит от httpwebresponse. Если мы будем использовать таблицу sql relative, это повлияет на производительность? – Sanjum

+0

Также мне нужно хранить данные за следующие 30 минут. – Sanjum

+0

SQL на разумном сервере, вероятно, достаточно быстро. 500 МБ на пользователя в сеансе много. Я бы попробовал SQL. Вы всегда можете запланировать задание для удаления использованных данных SQL через 30 минут или использовать событие global.asax 'Session_End' для очистки данных SQL. – andleer

Смежные вопросы