redis之jedis的批量操作

										**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)+"毫秒");
}

实际操作证明,批量插入数据要比每次单独插入数据性能要高好几倍。

你可能感兴趣的:(java之redis)