本文整理了Java中redis.clients.jedis.JedisCluster.sdiff()
方法的一些代码示例,展示了JedisCluster.sdiff()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。JedisCluster.sdiff()
方法的具体详情如下:
包路径:redis.clients.jedis.JedisCluster
类名称: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();
}
内容来源于网络,如有侵权,请联系作者删除!