标签:请求 规格 put 直接 foreach object 代码示例 map 名称
在日常开发中,我们都应该去避免循环调用。以循环dubbo调用为例,dubbo调用需要走局域网络发送数据,唤起目标服务的dubbo线程,占用数据库连接,最后接收数据这一漫长的过程。如果循环多次调用,会有巨大的性能开销。如:调用主数据请求100条商品信息优化成批量后,性能将会有90%以上的提升。而平时解决循环调用最常用的方法就是将循环调用改为批量操作(批量新增、批量修改、批量查询),批量新增和批量修改都比较好解决,思路就是先定义一个对象List,然后将需要新增、修改的对象存入这个List,然后在业务逻辑处理完的最后再来进行批量新增、修改。
这里我主要记录的是解决循环查询的思路,因为在改为批量查询过后还需要做一步数据转换,由List转为Map,然后再根据需求使用对应的key去这个Map中取到对应的数据即可解决循环调用,但是根据需求的不同这个List转Map会有不同的实现方式(目前我只用过两种),一种是List