美文网首页
Java对Redis批量操作 - Jedis

Java对Redis批量操作 - Jedis

作者: 鱼da王 | 来源:发表于2018-12-06 19:52 被阅读0次
  1. Jedis的mget的操作

    • 针对数据结构为String类型

    • 示例代码

      private Pool<Jedis> jedisPool;
      public List<String> mget(final String... keys) {
          List<String> 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<Jedis> jedisPool;
    public <T> List<T> execute(Class<T> 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<Object> responses = pipeline.syncAndReturnAll();   // 返回执行结果
            List<T> result = new ArrayList<T>(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

      本文链接:https://www.haomeiwen.com/subject/ibkacqtx.html