如何在javascript中存储大量数据

how to store large amount of data in javascript

本文关键字:数据 存储 javascript      更新时间:2023-09-26

我必须处理使用ajax从服务器检索到的大量数据,并将其存储在JavaScript中。我目前使用一个数组来存储所有的数据。这就是我如何获取数据并将其存储在javascript中:

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

我心里有两个问题:

  1. 是使用一个数组来存储所有的数据效率,是否有一个溢出问题与100万行数据?
  2. concat性能如何?如何在这里进行优化?

我知道,我冒着被否决的风险,但是:"如何在JavaScript中存储100万行"的唯一有效答案是"不要"。"

看起来您在每次页面加载时都将整个数据库转储到客户机上,因此在特定的页面加载时,他可能需要或不需要等待快速的ajax响应。老实说,这是迄今为止我听过的最疯狂的事情,希望你也能这样看待它。

即使你的用户不需要等待不需要很长时间的小ajax调用(看看google autosuggest),在每次页面加载时,不得不让他们等待100万数据库行传输并加载到内存中,这甚至是更糟糕的用户体验。

如果您的数据适合localStorage (5MB),那么您所做的事情只有在可行的情况下才可行,而这可能不是。