使用Angular6中的缓存数据来优化重新加载时间

时间:2018-07-20 06:34:00

标签: angular caching observable reloading

我必须在我的角度应用程序中显示一个表格。该表显示10-15Mb JSON数据。因此,每次都加载此文件,确实会使我的网站变慢。 我想到了可能的解决方案-

  • 初始重新加载后,将数据存储为缓存/会话存储。
  • 直到用户登录,除非用户登录,他/她都应该能够从缓存中重新加载数据,而无需从API获取数据。

有人可以帮助我实施此方法(如果这是正确的方法),或者请提出更好的方法。

2 个答案:

答案 0 :(得分:0)

是的,的确,最好的方法是使用分页和搜索。如果不能 您可以通过shareReplay使用Rxjs缓存。

更多详细信息,请访问:https://blog.thoughtram.io/angular/2018/03/05/advanced-caching-with-rxjs.html

答案 1 :(得分:0)

首先,来自api的15mb数据似乎很多,这是您的第一个问题,您是否需要一次加载所有这些数据。我建议您在获取数据时过滤数据。其次,您应该在获取数据时压缩服务器上的数据,这是在Web服务器级别完成的,ngnix可以很好地做到这一点。如果所有这些都无济于事,则前端的缓存应该对您有用,在这种情况下,请使用Angular中的localStorage来存储数据。