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;
}