如何在javascript中存储大量数据

时间:2011-12-18 18:47:27

标签: javascript arrays performance

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

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

我脑子里有两个问题:

  1. 使用数组来高效存储所有数据,是否存在100万行数据的溢出问题?
  2. concat表现如何?怎么能在这里优化?
  3. 感谢任何意见。

2 个答案:

答案 0 :(得分:8)

我知道,我冒了一个downvote,但是:"唯一有效的答案是:如何在JavaScript中存储100万行"是"不是。"

答案 1 :(得分:3)

看起来您正在每个页面加载时将整个数据库转储到客户端上,因此在特定页面加载时,他可能需要或不必等待快速的ajax响应。到目前为止,这是我听过的最疯狂的事情,希望你能够很好地看到它。

即使您的用户不必等待实际上花费很长时间的小ajax调用(请查看google autosuggest),也必须让他们等待100万个数据库行传输并在每个页面加载内存中加载用户体验更差。

如果您的数据适合localStorage(5MB),那么您所做的只是可行的,而这可能不适用。