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技术进行批量操作;

posted @ 2019-03-17 20:31  zlAdmin  阅读(1306)  评论(0)    收藏  举报