Redis之Pipeline的使用

  1. 在处理大量数据并需要存入redis时 如果一条一条添加效率会很低,这里可以用到redis的Pipeline 先上使用代码

    List<Response<String>> responses = new ArrayList<>();
    Jedis jedis = jedisService.getJedisPool().getResource();
    try {
            Pipeline pipeline = jedis.pipelined();
        //获取存储手机号
        for (String phone : phoneArr) {
            responses.add(pipeline.get(CacheKeys.combinationFormat(CacheKeys.UP_STREAM_MSGID, subtaskId, phone)));
        }
        //提交
        pipeline.sync();
    } finally {
        jedis.close();
    }
    for(Response<String> response:responses){
        System.out.println(response.get());
    }
    
  2. 下面的是保存

    public void setxPipeline(List<String> key, List<String> value){
    //加上判空,size 相等处理
       try{
           Pipeline pipeline = jedis.pipelined();
           for(int i = 0; i<key.size(); i++){
               pipeline.set(key.get(1),value.get(i));
           }
           pipeline.sync();
       }finally {
           jedis.close();
       }     
    }
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值