9.Redis 管道(pipe mode)

  1. Redis 2.6 开始 redis-cli 支持一种新的被称之为 pipe mode(管道)的新模式用于大量数据插入工作。
  2. Redis 中的管道技术是指:Redis Pipelining,用于提高 Redis 服务的性能。
    管道技术可以在服务端还未响应时,客户端任然可以继续向服务端发送请求,即客户端可以发送多个命令到服务端,而不用等待服务器的响应,客户端会在最后再一次性读取所有的服务端的响应。
  3. redis的pipeline(管道)功能在命令行中没有,但是redis是支持管道的,在java的客户端(jedis)中是可以使用的。
    测试发现:
    1:不使用管道方式,插入1000条数据耗时328毫秒
    // 测试不使用管道  
    public static void testInsert() {  
        long currentTimeMillis = System.currentTimeMillis();  
        Jedis jedis = new Jedis("192.168.33.130", 6379);  
        for (int i = 0; i < 1000; i++) {  
            jedis.set("test" + i, "test" + i);  
        }  
        long endTimeMillis = System.currentTimeMillis();  
        System.out.println(endTimeMillis - currentTimeMillis);  
    }  
    
    2:使用管道方式,插入1000条数据耗时37毫秒
    // 测试管道  
    public static void testPip() {  
        long currentTimeMillis = System.currentTimeMillis();  
        Jedis jedis = new Jedis("192.168.33.130", 6379);  
        Pipeline pipelined = jedis.pipelined();  
        for (int i = 0; i < 1000; i++) {  
            pipelined.set("bb" + i, i + "bb");  
        }  
        pipelined.sync();  
        long endTimeMillis = System.currentTimeMillis();  
        System.out.println(endTimeMillis - currentTimeMillis);  
    }  
    
    在插入更多数据的时候,管道的优势更加明显:测试10万条数据的时候,不使用管道要40秒,实用管道378毫秒。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值