**jedis的批量操作*
#连接本机的redis
Jedis jedis=new Jedis("127.0.0.1",6379);
#创建管道
Pipeline pipeline=jedis.pipelined();
#通过管道来批量添加数据
for (int i = 0; i < 1000; i++) {
pipeline.set(i+"pipeline",i+"");
}
#最后要提交数据
pipeline.sync();
通过以上操作就可以完成jedis的批量插入操作了。
以下是完整案例:
//jedis插入数据,耗时约77毫秒
@Test
public void jedisEvery(){
Jedis jedis=new Jedis("127.0.0.1",6379);
long begin=System.currentTimeMillis();
for (int i = 0; i < 1000; i++) {
jedis.set(i+"every",i+"");
}
long end=System.currentTimeMillis();
System.out.println("每条插入耗时"+(end-begin)+"毫秒");
}
//jedis批量操作,耗时约21毫秒
@Test
public void jedisPipeline(){
Jedis jedis=new Jedis("127.0.0.1",6379);
long begin=System.currentTimeMillis();
//开启redis管道
Pipeline pipeline=jedis.pipelined();
for (int i = 0; i < 1000; i++) {
//jedis.set(i+"pipeline",i+"");
//在管道中添加数据
pipeline.set(i+"pipeline",i+"");
}
//管道提交数据
pipeline.sync();
long end=System.currentTimeMillis();
System.out.println("批量插入耗时"+(end-begin)+"毫秒");
}
实际操作证明,批量插入数据要比每次单独插入数据性能要高好几倍。