Exemple #1
0
 /**
  * 全局扫描hset
  *
  * @param match field匹配模式
  * @return
  */
 public List<Map.Entry<String, String>> scanHSet(String domain, String match) {
   ShardedJedis shardedJedis = null;
   try {
     int cursor = 0;
     shardedJedis = slaveShardedJedisPool.getResource();
     ScanParams scanParams = new ScanParams();
     scanParams.match(match);
     Jedis jedis = shardedJedis.getShard(domain);
     ScanResult<Map.Entry<String, String>> scanResult;
     List<Map.Entry<String, String>> list = new ArrayList<Map.Entry<String, String>>();
     do {
       scanResult = jedis.hscan(domain, String.valueOf(cursor), scanParams);
       list.addAll(scanResult.getResult());
       cursor = Integer.parseInt(scanResult.getStringCursor());
     } while (cursor > 0);
     return list;
   } catch (Exception ex) {
     logger.error("scanHSet error.", ex);
   } finally {
     returnResource(shardedJedis);
   }
   return null;
 }