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