Javascript-大型(> 10 MB)对象数据的临时存储

时间:2018-08-26 15:58:58

标签: javascript serialization crossfilter

我正在寻找一种解决方案,该解决方案允许我在页面重新加载时缓存大对象。更具体地说,我想保留一个大的crossfilter.js对象,因为创建它需要一段时间。我找不到任何本地方法来持久保存crossfilter.js实例。

我了解以下通用选项:

  • 本地存储/会话存储。问题:显然没有更大的物体 可以存储5或10 MB以上的内存,而我要缓存的内存超过10 MB。
  • 滥用window.name以获得我的对象的序列化版本。 问题:虽然它适用于我自己编写的课程,但我试图 序列化和反序列化crossfilter.js实例或其实例 群体/维度导致例外;一世。 e。内部状态 crossfilter.js实例未维护。我正在使用https://github.com/hunterloftis/cryo进行序列化。
  • IndexedDB。问题:与window.name相同-我必须 序列化我的数据,我还没有找到可行的方法。我想,这对我的需求来说也有些过分。

总结:我想在页面重新加载后将特定的复杂对象保留在内存中。可能的解决方案将允许

  1. 将复杂的对象/类实例(带有方法)存储在 本地/会话存储增加或没有内存限制,
  2. 使用黑客手段,例如将对象转储到window.name中,但接受 复杂对象,而无需序列化 window.name
  3. 使用本机crossfilter.js功能转储/缓存其实例之一。

有什么提示吗?尽管首选与浏览器无关的版本,但也将接受特定于Chrome的解决方案。

谢谢!

0 个答案:

没有答案