org.springframework.data.redis.core.ZSetOperations.scan()方法的使用及代码示例

x33g5p2x  于2022-02-05 转载在 其他  
字(2.4k)|赞(0)|评价(0)|浏览(206)

本文整理了Java中org.springframework.data.redis.core.ZSetOperations.scan()方法的一些代码示例,展示了ZSetOperations.scan()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。ZSetOperations.scan()方法的具体详情如下:
包路径:org.springframework.data.redis.core.ZSetOperations
类名称:ZSetOperations
方法名:scan

ZSetOperations.scan介绍

[英]Iterate over elements in zset at key.
Important: Call Cursor#close() when done to avoid resource leak.
[中]在zset的键处迭代元素。
重要提示:完成后调用Cursor#close(),以避免资源泄漏。

代码示例

代码示例来源:origin: spring-projects/spring-data-redis

@Override
  public Cursor<TypedTuple<V>> scan(ScanOptions options) {
    return ops.scan(getKey(), options);
  }
}

代码示例来源:origin: whvcse/EasyWeb

/**
   * @param key
   * @param options
   * @return
   */
  public Cursor<TypedTuple<String>> zScan(String key, ScanOptions options) {
    return redisTemplate.opsForZSet().scan(key, options);
  }
}

代码示例来源:origin: apache/servicemix-bundles

@Override
  public Cursor<TypedTuple<V>> scan(ScanOptions options) {
    return ops.scan(getKey(), options);
  }
}

代码示例来源:origin: org.springframework.data/spring-data-redis

@Override
  public Cursor<TypedTuple<V>> scan(ScanOptions options) {
    return ops.scan(getKey(), options);
  }
}

代码示例来源:origin: sentilo/sentilo

private void removeDeprecatedAlerts(final Collection<InternalAlert> frozenAlerts) {
 final Cursor<TypedTuple<String>> scanCursor = redisTemplate.opsForZSet().scan(SORTED_SET_KEY, ScanOptions.NONE);
 final List<String> membersToRemove = new ArrayList<String>();
 while (scanCursor.hasNext()) {
  final TypedTuple<String> member = scanCursor.next();
  // member verifies pattern providerId#sensorId#alertId
  final String[] tokens = member.getValue().split(Constants.REDIS_MEMBER_TOKEN);
  if (!frozenAlerts.contains(new InternalAlert(tokens[2]))) {
   membersToRemove.add(member.getValue());
  }
 }
 LOGGER.debug("Found {} members on Redis that need to be removed because them no longer exist on Catalog", membersToRemove.size());
 if (!CollectionUtils.isEmpty(membersToRemove)) {
  // Remove in blocks of 20 members maximum to not penalize Redis
  final int blockSize = 20;
  int fromIndex = 0;
  int toIndex = membersToRemove.size() < blockSize ? membersToRemove.size() : blockSize;
  do {
   final List<String> subListToRemove = membersToRemove.subList(fromIndex, toIndex);
   redisTemplate.opsForZSet().remove(SORTED_SET_KEY, subListToRemove.toArray(new Object[subListToRemove.size()]));
   fromIndex = toIndex;
   toIndex = toIndex + blockSize < membersToRemove.size() ? toIndex + blockSize : membersToRemove.size();
  } while (fromIndex < membersToRemove.size());
 }
}

相关文章