我开发了一个扩展程序,可以在浏览会话期间创建大量数据。想想,总HTTP流量的2到3倍(图像,HTML等)。
目前我只是在Javascript变量中存储所有这些内容,但如果扩展程序将被严重使用,这显然是不可行的。
所以,问题是,我应该在哪里存储这些数据?它很少被访问,但当它是全部的时候。此外,如果数据不会持续超出当前会话,那就太好了;在这种情况下陈旧的数据是无用的,我宁愿不用不必要地填满磁盘。
*对于在浏览器中运行的内容,在Javascript中
答案 0 :(得分:1)
您可能需要查看Firefox 3.5附带的数据库。
答案 1 :(得分:1)
一个相当标准的解决方案是使用本地文件作为存储。作为Firefox扩展运行的代码具有足够的权限来读取和写入本地文件。 MDC File I/O code snippets page是在您的扩展中理解和实现此功能的一个非常好的起点。它还向您展示了find your extension's directory的方法,并说明了creating temporary files的机制。
这些方法应该为您提供完成所需工作所需的工具。如果您还需要进一步的问题,请告诉我们。
答案 2 :(得分:0)
在磁盘上。如果它确实是流量的3倍,那么无论如何你都无法将它全部留在内存中。您可以随时在关机时和/或下一个会话开始时删除不再需要的数据。
存储数据的具体方法取决于您的具体要求 - 您需要存储的内容,数据访问中的模式是什么。如果,正如您所说,您只需要保存收到的单个文件,我会将它们存储为文件。