数据量超过20M前端存储方式解决?就是一个机构树,接口返回好几万条数据,如何处理

数据量超过20M前端存储方式解决?就是一个机构树,接口返回好几万条数据,如何处理

1,可以考虑使用前端存储技术,如LocalStorage、IndexedDB、WebSQL等
2,将数据存储在客户端,以减少服务器压力,提高性能。另外,也可以考虑使用缓存技术,如Memcached、Redis等,将数据存储在服务器端,以提高访问速度。
3,可以考虑使用分页加载的方式,每次只加载一部分数据,减少前端存储的压力。

这么大文件,就不要缓存树的数据了吧。
我建议使用懒加载树,一次一次的去获取树的节点信息。
如果使用的是vue,然后使用 keep-alive 对页面进行缓存。

该回答引用GPTᴼᴾᴱᴺᴬᴵ
如果你的接口返回的数据量太大,超出了前端存储的限制,你可以考虑以下几种方式来解决:

  1. 分页加载:在接口中增加分页参数,每次返回一部分数据,用户需要时再加载下一页的数据。
  2. 懒加载:只在用户需要时再请求数据。例如,在用户展开某个机构节点时,才发送请求获取该节点下的数据。
  3. 虚拟滚动:只在用户滚动到可视区域时才渲染该部分数据。例如,使用 react-virtualized 或 vue-virtual-scroller 等虚拟滚动库来优化长列表的渲染。
  4. 前端缓存:将接口返回的数据存储在前端缓存中,以减少网络请求次数。可以使用浏览器缓存、LocalStorage 或 IndexedDB 等技术来实现。
  5. 后端分页:如果你有后端 API 的控制权,可以在后端进行数据分页,并提供相应的分页参数。这样可以避免一次性返回过多数据,减轻前端负担。

根据你的具体需求和场景,可以选择适合自己的方式来解决数据量过大的问题。

该回答引用ChatGPT

当数据量较大时,前端存储方式主要有两种选择:分页加载和虚拟滚动。

1、分页加载
分页加载是一种常用的解决大数据量问题的方式。可以通过后端接口提供分页查询接口,前端通过不断的请求接口获取数据,然后将数据进行渲染。

在 Vue.js 中,可以通过结合使用 Vue.js 自带的 keep-alive 组件和第三方组件库实现分页加载。具体而言,可以通过使用 el-table 组件,结合 el-pagination 组件和 keep-alive 组件来实现分页加载。

2、虚拟滚动
虚拟滚动是一种能够优化大数据量的列表渲染的技术。其基本思想是只渲染可视区域的数据,而不是将整个列表的数据全部渲染出来。在滚动过程中,通过不断的调整渲染的起始位置和结束位置来实现滚动。

在 Vue.js 中,可以通过结合使用第三方组件库实现虚拟滚动。其中,vue-virtual-scroll-list 是一个非常优秀的组件,能够很好地解决大数据量列表渲染的问题。

无论是采用分页加载还是虚拟滚动,都需要注意对性能的优化。比如在分页加载中,可以通过设置合理的分页大小和使用缓存等技术来提升性能;在虚拟滚动中,可以通过限制每次渲染的数据量和使用数据缓存等技术来提升性能。