在开发过程中, 系统中经常有些列表需要导出, 运用 poi 的 API 简单导出是可以很快的完成此功能, 但是随着系统数据的增多, 前端和后端一般是采用短链接的方式进行交互, 由于后台数据量过大, 前后端连接超时, 导致导出 Excel 失败,(如果 sql 没问题一般可导出几百数据), 当数据达到上千或者上万数据导出失败. 现在可利用 Redis 缓存技术实现成千上万条数据导出, 如图:
以上是思路示意图, 从示意图中可以看出, 此功能的开发必须要有前端的绝对配合. 在此设计思路中有一个缺陷, 只要有足够的耐心等待, 好像可以导出 N 多数据, 实际结果是这样的, 但是对于业务上来说是不符合的, 大量的数据导出时要考虑到分页, 还有考虑到对 Redis 的内存占用, 所以最好是在业务上有一定的限制, 比如指定时间段, 或者按照其他的过滤条件.
来源: https://www.cnblogs.com/fjl0418/p/11461393.html