Java对Redis批量操作 - Jedis

  1. Jedis的mget的操作

    • 针对数据结构为String类型

    • 示例代码

      private Pool jedisPool;
      public List mget(final String... keys) {
          List result = null;
          Jedis jedis = null;
          try {
              jedis = jedisPool.getResource();
              result = jedis.mget(keys);
          } finally {
              if (jedis != null) {
                  jedis.close();
              }
          }
          return result;
      }
      
  2. Jedis的PipeLine使用

    相比较RedisTemplate的PipeLine,Jedis对Redis的批量操作稍微繁复一点点。具体操作如下:

    private Pool jedisPool;
    public  List execute(Class type, String... keys) throws JedisException {
        Jedis jedis = null;
        try {
            jedis = jedisPool.getResource();
            Pipeline pipeline = jedis.pipelined();
            for (String key : keys) {
                pipeline.get(key);
            }
            // pipeline.sync();   // 不返回执行结果
            List responses = pipeline.syncAndReturnAll();   // 返回执行结果
            List result = new ArrayList(responses.size());
            for (Object response : responses) {
                String resp = (String) response;
                result.add(resp == null ? null : JSON.parseObject(resp, type));
            }
            return result;
        } finally {
            if (jedis != null) {
                jedis.close();
            }
        }
     }
     
    
    
    
    
    
    
    

    你可能感兴趣的:(Java对Redis批量操作 - Jedis)