我正在尝试将一个数组存储在localStorage中,当记录数增加到5-10千个时,代码会崩溃。对于3000条记录,它是可行的。
是否有任何方法可以在localStorage中存储大量数据?
我正在尝试将一个数组存储在localStorage中,当记录数增加到5-10千个时,代码会崩溃。对于3000条记录,它是可行的。
是否有任何方法可以在localStorage中存储大量数据?
LocalStorage在不同的浏览器中有大小限制,以防恶意脚本填满用户的硬盘。
您可以在此处测试浏览器的LocalStorage限制:https://arty.name/localstorage.html
简单地说,您不应尝试在客户端存储超过5MB-10MB的数据,具体取决于浏览器。需要存储如此多的本地数据是一个迹象,说明您可能需要想出更好的解决方案。
另一种在本地存储数据的可能性是IndexedDB,它在现代浏览器中具有合理的兼容性。它是一个对象存储库,类似于文档数据库,例如MongoDB。您可以存储对象而不需要将它们转换为字符串,并且可以查询这些对象的方式与查询数据库相同。
大多数浏览器似乎在IndexedDB存储上有一个约为5MB的“软”限制。这是一个“软”限制,因为它不一定被执行,所以如果浏览器允许,您可以存储更多的数据。您的体验可能会有所不同。
本地存储(localstorage)的最大大小为5MB,以防止恶意脚本填满用户的硬盘。您可以选择使用IndexedDB,它兼容所有现代浏览器。最小或软限制是5MB,浏览器将请求权限来存储数据。最大存储量是您硬盘驱动器的限制,因为所有数据都存储在本地机器磁盘上。基本上,如果您有20GB的空闲存储空间,那么可以将所有存储空间用于IndexedDB。