我正在从Firebase数据库中检索大量与会者的参与者 - 大约有4,000名与会者。每个都表示为大约500字节的JSON对象。
检索数据集后,我试图将其存储在持久性本地存储中。最初我尝试使用标准DOM存储(localStorage)使用Lawnchair.js。
我观察到的是,在使用此方法插入数据集时,Chrome的内存使用率上升至2GB左右。另外,因为保存到localStorage是同步的,所以这会阻止DOM,并且应用程序会在30秒内无响应。
我认为这可能是Lawnchair的问题,所以我尝试使用IndexedDB切换到localForage。这有两个很大的改进:
但是,将数据写入索引数据库大约需要 10分钟。前5分钟,CPU占30%左右,没有任何内容写入索引数据库。最后5分钟CPU下降,写入开始缓慢(可能是10个记录/秒)。
我的问题是: 这些行为是否正常,如果是这样,我如何将这些数据(大约2Mb)存储在持久的本地存储中,而不需要花费很长时间或消耗大量内存?