ES 批量bulk 备忘

public void bulkSaveLogStr(List<String> list){

BulkRequestBuilder bulkRequest = esutil.getClients().prepareBulk(); 
Long start = System.currentTimeMillis();

for (String str :list ){
bulkRequest.add(esutil.getClients().prepareIndex(index, type) .setSource(str));   
}


BulkResponse bulkResponse = bulkRequest.execute().actionGet();
  if (bulkResponse.hasFailures()) {
            Iterator<BulkItemResponse> iter = bulkResponse.iterator();
            while (iter.hasNext()) {
                BulkItemResponse itemResponse = iter.next();
                if (itemResponse.isFailed()) {
                logger.info(itemResponse.getFailureMessage());
                }
            }
        }
  Long end = System.currentTimeMillis();
  
  logger.info("bulk request time ="+(end-start)+"毫秒");
  Date d = new Date();
  SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  
  logger.info(sdf.format(d)+"commit size="+list.size()  );

}

参数list中String为json格式。从jedis中批量获取得到。

另附jedis批量

public List<String> pipeLineGet(){
Long start = System.currentTimeMillis();
List<String> returnlist = new ArrayList<String>();
Pipeline p =jedis.pipelined();
List<Response<String>> lres = new ArrayList<Response<String>>();
for (int i= 0 ; i<pipecount; i++){
Response<String> responses =p.rpop(quenename);
lres .add(responses);
}
p.sync();



for (Response<String> resp :lres){
String str = resp.get();
if (str!=null){
System.out.println(str);
returnlist.add(str);
}
}
Long end = System.currentTimeMillis();
if (returnlist!=null && returnlist.size()>0){
logger.info(returnlist.size() +"  count : pipe line  time ="+(end-start)+"毫秒");
}else{
System.out.println("无数据");
}
return returnlist;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值