Java 使用pipeline對redis進行批量讀寫


code

import redis.clients.jedis.Jedis;
import redis.clients.jedis.Pipeline;
import java.util.List;

public class testRedisPipeline {
    public void test3Pipelined() {
        Jedis jedis = new Jedis("10.18.3.153", 7002);

        Pipeline pipeline = jedis.pipelined();
        long start = System.currentTimeMillis();
        for (int i = 0; i < 1000; i++) {
            pipeline.set("p" + i, "p" + i);
            //List<Object> results = pipeline.syncAndReturnAll();      //  ---- 1
        }
        List<Object> results = pipeline.syncAndReturnAll();            // ------2
        long end = System.currentTimeMillis();
        System.out.println("Pipelined SET: " + ((end - start)/1000.0) + " seconds");
        jedis.disconnect();
    }
    public static void main(String []args){
        testRedisPipeline obj = new testRedisPipeline();
        obj.test3Pipelined();

    }
}

結果對比(使用代碼中的1,2行代碼)

  耗時(s)
1 40.246
2 0.245


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM