redis.clients.jedis.JedisCluster.sdiff()方法的使用及代码示例

x33g5p2x  于2022-01-21 转载在 其他  
字(3.6k)|赞(0)|评价(0)|浏览(133)

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

JedisCluster.sdiff介绍

暂无

代码示例

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

@Override
public Set<byte[]> sDiff(byte[]... keys) {
  Assert.notNull(keys, "Keys must not be null!");
  Assert.noNullElements(keys, "Keys must not contain null elements!");
  if (ClusterSlotHashUtil.isSameSlotForAllKeys(keys)) {
    try {
      return connection.getCluster().sdiff(keys);
    } catch (Exception ex) {
      throw convertJedisAccessException(ex);
    }
  }
  byte[] source = keys[0];
  byte[][] others = Arrays.copyOfRange(keys, 1, keys.length);
  ByteArraySet values = new ByteArraySet(sMembers(source));
  Collection<Set<byte[]>> resultList = connection.getClusterCommandExecutor()
      .executeMultiKeyCommand(
          (JedisMultiKeyClusterCommandCallback<Set<byte[]>>) (client, key) -> client.smembers(key),
          Arrays.asList(others))
      .resultsAsList();
  if (values.isEmpty()) {
    return Collections.emptySet();
  }
  for (Set<byte[]> singleNodeValue : resultList) {
    values.removeAll(singleNodeValue);
  }
  return values.asRawSet();
}

代码示例来源:origin: org.nutz/nutz-integration-jedis

public Set<String> sdiff(String... keys) {
  return jedisCluster.sdiff(keys);
}

代码示例来源:origin: org.nutz/nutz-integration-jedis

public Set<byte[]> sdiff(byte[]... keys) {
  return jedisCluster.sdiff(keys);
}

代码示例来源:origin: yangfuhai/jboot

/**
 * 返回一个集合的全部成员,该集合是所有给定集合之间的差集。
 * 不存在的 key 被视为空集。
 */
@SuppressWarnings("rawtypes")
public Set sdiff(Object... keys) {
  Set<byte[]> data = jedisCluster.sdiff(keysToBytesArray(keys));
  Set<Object> result = new HashSet<Object>();
  valueSetFromBytesSet(data, result);
  return result;
}

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

@Override
public Set<byte[]> sDiff(byte[]... keys) {
  Assert.notNull(keys, "Keys must not be null!");
  Assert.noNullElements(keys, "Keys must not contain null elements!");
  if (ClusterSlotHashUtil.isSameSlotForAllKeys(keys)) {
    try {
      return connection.getCluster().sdiff(keys);
    } catch (Exception ex) {
      throw convertJedisAccessException(ex);
    }
  }
  byte[] source = keys[0];
  byte[][] others = Arrays.copyOfRange(keys, 1, keys.length);
  ByteArraySet values = new ByteArraySet(sMembers(source));
  Collection<Set<byte[]>> resultList = connection.getClusterCommandExecutor()
      .executeMultiKeyCommand(
          (JedisMultiKeyClusterCommandCallback<Set<byte[]>>) (client, key) -> client.smembers(key),
          Arrays.asList(others))
      .resultsAsList();
  if (values.isEmpty()) {
    return Collections.emptySet();
  }
  for (Set<byte[]> singleNodeValue : resultList) {
    values.removeAll(singleNodeValue);
  }
  return values.asRawSet();
}

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

@Override
public Set<byte[]> sDiff(byte[]... keys) {
  Assert.notNull(keys, "Keys must not be null!");
  Assert.noNullElements(keys, "Keys must not contain null elements!");
  if (ClusterSlotHashUtil.isSameSlotForAllKeys(keys)) {
    try {
      return connection.getCluster().sdiff(keys);
    } catch (Exception ex) {
      throw convertJedisAccessException(ex);
    }
  }
  byte[] source = keys[0];
  byte[][] others = Arrays.copyOfRange(keys, 1, keys.length);
  ByteArraySet values = new ByteArraySet(sMembers(source));
  Collection<Set<byte[]>> resultList = connection.getClusterCommandExecutor()
      .executeMultiKeyCommand(
          (JedisMultiKeyClusterCommandCallback<Set<byte[]>>) (client, key) -> client.smembers(key),
          Arrays.asList(others))
      .resultsAsList();
  if (values.isEmpty()) {
    return Collections.emptySet();
  }
  for (Set<byte[]> singleNodeValue : resultList) {
    values.removeAll(singleNodeValue);
  }
  return values.asRawSet();
}

相关文章

微信公众号

最新文章

更多

JedisCluster类方法