业务背景:
原先代码逻辑:判断某个实体数据库是否存在,存在就更新,不存在则插入。
改为:实体放到一起,统一操作,这里只讲插入。
两个缓存,一个
Map<String, Order> cacheMap=new HashMap<String, Order>();
List<AgentCashStatDay> cache=new ArrayList<>();
if (null!=cacheMap) {
int mapSize = cacheMap.size();
Set<String> keySet = cacheMap.keySet();
Iterator<String> iterator = keySet.iterator();
int standardCount=0;
while ( iterator.hasNext()) {
String key = iterator.next();
Order order = cacheMap.get(key);
cache.add(order);
standardCount++;
if (mapSize<=1000&&standardCount==mapSize) {
orderService.createOrder(cache);
}
if (mapSize>1000 &&standardCount==1000) {
standardCount=0;
orderService.createOrder(cache);
cache.clear();
mapSize=mapSize-1000;
}
}