zoukankan      html  css  js  c++  java
  • redis client 2.0.0 pipeline 的list的rpop bug

    描写叙述:

    redis client 2.0.0 pipeline 的list的rpop 存在严重bug,rpop list的时候,假设list已经为空的时候,rpop出来的Response依旧不为null,导致吊response.get()方法抛异常


    代码:

    @Test
    	public void testRedisPipeline(){
    	    Jedis jedis = null;
    	    try{
    	        jedis = new Jedis("127.0.0.1",6379);
    	        Pipeline pipelined = jedis.pipelined();
    	        for(int i=200;i<10000;i++){
    	            pipelined.lpush("aa", "val"+i);
    	        }
    	        pipelined.sync();
    	        
    	    }catch(Exception e){
    	        e.printStackTrace();
    	    }finally{
    	        if(jedis!=null){
    	            jedis.disconnect();
    	        }
    	    }
    	}
    	
    <span style="white-space:pre">	</span>//这种方法会造成redis qps无限上升
    	@Test
    	public void testRedisPipelinePop(){
    	    Jedis jedis = null;
    	    try{
    	        List<Response<String>> result = new ArrayList<Response<String>>();
    	        jedis = new Jedis("127.0.0.1",6379);
    	        Pipeline pipelined = jedis.pipelined();
    	        for(int i=0;i<10;i++){
    	            //System.out.println(i);
    	            Response<String> rpop = pipelined.rpop("aa");
    	            //System.out.println(rpop);
    	            result.add(rpop);
    	        }
    	        pipelined.sync();
    	        //Response<Long> r = pipelined.bitcount("aa");
    	        for (Response<String> response : result) {
                    System.out.println(response.get());//异常
                }
    	        
    	    }catch(Exception e){
    	        e.printStackTrace();
    	    }finally{
    	        if(jedis!=null){
    	            jedis.disconnect();
    	        }
    	    }
    	}




    解决方法:

    使用redis-cli 2.1.0以上版本号

  • 相关阅读:
    abcde =(ab+cd)的平方
    求水仙花数
    VS2019 开发 MFC ACtivex (OCX)控件
    简单体验pdfjs,并且隐藏下载、打印等按钮
    体验win10的linux子系统
    nodejs 连接 mysql 查询事务处理
    Linux系統日常運維管理
    hexo豆瓣卡片安裝遇到的坑
    ZooKeeper 是什么与概述,典型用例
    K8S_Kubernetes
  • 原文地址:https://www.cnblogs.com/wzjhoutai/p/7102392.html
Copyright © 2011-2022 走看看