javascript - 在 Javascript 中将对象缓存在内存中
问题描述
我正在编写一个网络应用程序,它从服务器获取文件列表并显示它。用户可以单击文件夹以进入其中(实际上无需离开页面)。检索列表可能需要一段时间(每个文件约 10 毫秒,当您有 2000 个文件时,这很多),所以我想尽可能缓存结果以避免在用户进入子目录时重新获取它然后退出。
但是,如果我只是将结果存储在某个全局变量中,它们会很快填满用户的所有内存。有没有办法告诉浏览器“如果内存不足,请随意删除这个对象”,或者在内存不足时收到通知?
解决方案
如果您想将这些对象存储在用户计算机上,以防止再次从服务器请求,您可能需要使用类似 LocalStorage 的东西来这样做。
Store.js围绕本地存储解决方案提供了一个很好的 API。
现在对您来说最困难的部分是检查哪些文件属于某个文件夹,以便您可以存储它。像树数据结构这样的东西可能会很好地为这些文件夹提供形状,搭配一个 ID,您可能能够将它们映射到本地存储中的某个位置。
推荐阅读
- c++ - 将异构数据作为字符序列连续存储在内存中
- amazon-web-services - 首次启动 Amplify Datastore(仅限本地)应用程序时,如何判断数据库是否已存在?
- angular - ng-autocomplete 显示 '[object Object]'
- javascript - 如何在 NodeJS 中以单行控制台日志格式制作实时时钟
- prolog - 序言。函数调用,添加括号输出
- upload - 柏; 将 MP4 添加到模态框后,“添加”按钮不会关闭模态框
- python - 更改画布文本位置 tkinter
- database - 汇总查询结果
- ffmpeg - 使用 ffmpeg concat demuxer 无损连接 mp4 视频所需的常见编码参数是什么?
- python - Beautiful Soup Web scraper 从单个 URL 创建单个 JSON 文件,但 JSON 文件都返回最后一个元素