как хранить большое количество данных в JavaScript - PullRequest
1 голос
/ 18 декабря 2011

Мне нужно обработать большой объем данных, полученных с сервера с помощью ajax, и сохранить их в JavaScript.В настоящее время я использую массив для хранения всех данных.вот как я получаю данные и сохраняю их в javascript:

var buffer=new Array();
//when each ajax returns 
buffer=buffer.concat(JSON.parse(ajaxReq.responseText));

у меня есть два вопроса:

  1. Использует ли массив для хранения всех данных эффективносуществует ли проблема переполнения с 1 миллионом строк данных ??
  2. Какова производительность concat?как это может быть оптимизировано здесь?

спасибо за любой вклад.

Ответы [ 2 ]

8 голосов
/ 18 декабря 2011

Я знаю, что рискую понизить голос, но: Единственный правильный ответ на вопрос «Как хранить 1 миллион строк в JavaScript» - «Не надо».

3 голосов
/ 18 декабря 2011

Похоже, что вы выгружаете всю свою базу данных на клиенте при каждой загрузке страницы, так что при конкретной загрузке страницы ему может или не придется ждать быстрых ответов ajax.Честно говоря, это, безусловно, самая безумная вещь, о которой я когда-либо слышал, и, надеюсь, вы тоже можете увидеть это так.

Даже если вашим пользователям не придется ждать небольших вызовов ajax, которые неочень долго (посмотрите на Google autosuggest), заставляя их ждать 1 миллион строк базы данных для передачи и загрузки в память при каждой загрузке страницы, что еще хуже для пользователя.

То, что вы делаете, возможно только в том случае, если вашданные помещаются в localStorage (5 МБ), чего, скорее всего, нет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...