用Javascript缓存内存中的对象

时间:2018-09-02 20:05:52

标签: javascript caching memory-management

我正在编写一个Web应用程序,该应用程序将从服务器中获取文件列表并显示出来。用户可以单击一个文件夹以进入该文件夹(实际上不会离开该页面)。检索列表可能需要一段时间(每个文件大约10毫秒,如果您有2000个文件,这会很多),所以我想尽可能地缓存结果,以避免用户进入子目录然后重新获取它。退出。

但是,如果我仅将结果存储在某个全局变量中,它们将迅速填满用户的所有内存。有什么方法告诉浏览器“如果您的内存不足,可以随意删除该对象”,或者在内存不足时得到通知?

1 个答案:

答案 0 :(得分:2)

如果要将这些对象存储在用户计算机上,为防止再次从服务器发出请求,您可能希望使用LocalStorage之类的方法。

Store.js为本地存储解决方案提供了一个不错的API。

现在对您来说困难的部分将是检查哪些文件属于某个文件夹,以便您可以存储它。像树状数据结构之类的东西可以很好地为这些文件夹赋予形状,并与ID配对可以将它们映射到本地存储中的位置。