Redis基于pipeline技术批量插入数据
在批量插入数据,如果通过java代码中写for循环一条一条插入,客户端插入一条需要等待服务端响应,在去插入下一条,通过pipeline可以提升批量插入效率;
public class RedisPipelineTest { public static void main(String[] args) { Jedis jedis = new Jedis("localhost", 6379); jedis.auth("123456"); int count = 10000; long timeMillis = System.currentTimeMillis(); Pipeline pipeline = jedis.pipelined(); for (int i = 0; i < count; i++) { pipeline.set("key" + i, "测试pipeline插入数据"); } pipeline.sync(); long endTime = System.currentTimeMillis(); System.out.println("耗时" + (endTime - timeMillis) + "毫秒"); } }
运行上述代码,总耗时为271毫秒;
Redis的主要瓶颈是网络的速度,其次是内存与cpu的速度和容量;在应用允许的情况下优先使用pipeline技术进行批量操作;
我们曾如此渴望生命的波澜,到后来才发现,人生最曼妙的风景是内心的淡定与从容

浙公网安备 33010602011771号