4
  • 我很想知道使用共享服务或ngrx 的单页应用程序中的数据缓存是否有任何限制。
  • 在前端缓存过多的数据是否会影响 Web 应用程序 (DOM) 的整体性能。

假设我有一个非常大的复杂嵌套对象,我将其缓存在内存中

单页应用缓存

现在假设我想在应用程序的不同模块/组件中使用不同的对象子集,为此我可能需要在 UI 上执行大量映射操作(通过匹配 id 等使用循环)。

我正在以其他方式思考,而不是在 UI 上进行如此多的操作来提取相关数据,为什么我不使用具有 id 参数的简单 API 来获取相关信息,如果它不需要太多时间来获取数据后端。

url =  some/url/{id}

obj[prop]那么,如果我们不能简单地通过其属性使用它的子集并且需要在 UI 上进行大量计算(循环等),这实际上比从其余 API 获取数据更耗时,那么缓存更复杂的嵌套对象是否值得 ?

任何帮助/解释将不胜感激!!!

谢谢

4

1 回答 1

0

在内存中缓存太多数据不是一个好主意。它会影响您的应用程序性能。在内存较少的系统中导致性能下降。从理论上讲,高速缓存用于保留较少量的数据。最大支持大小为 2GB。我认为 chrome 也被支持到该限制。为了在客户端保存大容量数据,切勿使用内存缓存,而应使用客户端数据库/数据存储。它使用磁盘空间而不是内存。有许多 Web 技术可以在客户端存储数据,例如

  • 索引数据库
  • 网络 SQL
  • 本地存储
  • 饼干

可以根据客户端应用程序框架来决定。

默认情况下,浏览器将 10% 的磁盘空间用于这些数据存储。我们还可以选择增加该大小。

于 2021-09-23T11:29:55.893 回答