本文整理了Java中redis.clients.jedis.JedisCluster.getClusterNodes()
方法的一些代码示例,展示了JedisCluster.getClusterNodes()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。JedisCluster.getClusterNodes()
方法的具体详情如下:
包路径:redis.clients.jedis.JedisCluster
类名称:JedisCluster
方法名:getClusterNodes
暂无
代码示例来源:origin: spring-projects/spring-data-redis
private JedisPool getResourcePoolForSpecificNode(RedisClusterNode node) {
Map<String, JedisPool> clusterNodes = cluster.getClusterNodes();
if (clusterNodes.containsKey(node.asString())) {
return clusterNodes.get(node.asString());
}
return null;
}
代码示例来源:origin: spring-projects/spring-data-redis
@Override
public ClusterTopology getTopology() {
if (cached != null && time + 100 > System.currentTimeMillis()) {
return cached;
}
Map<String, Exception> errors = new LinkedHashMap<>();
List<Entry<String, JedisPool>> list = new ArrayList<>(cluster.getClusterNodes().entrySet());
Collections.shuffle(list);
for (Entry<String, JedisPool> entry : list) {
try (Jedis jedis = entry.getValue().getResource()) {
time = System.currentTimeMillis();
Set<RedisClusterNode> nodes = Converters.toSetOfRedisClusterNodes(jedis.clusterNodes());
synchronized (lock) {
cached = new ClusterTopology(nodes);
}
return cached;
} catch (Exception ex) {
errors.put(entry.getKey(), ex);
}
}
StringBuilder sb = new StringBuilder();
for (Entry<String, Exception> entry : errors.entrySet()) {
sb.append(String.format("\r\n\t- %s failed: %s", entry.getKey(), entry.getValue().getMessage()));
}
throw new ClusterStateFailureException(
"Could not retrieve cluster information. CLUSTER NODES returned with error." + sb.toString());
}
}
代码示例来源:origin: alexxiyang/shiro-redis
@Override
public Set<byte[]> keys(byte[] pattern) {
Set<byte[]> keys = new HashSet<byte[]>();
Map<String, JedisPool> clusterNodes = getJedisCluster().getClusterNodes();
Iterator<Map.Entry<String, JedisPool>> nodeIt = clusterNodes.entrySet().iterator();
while (nodeIt.hasNext()) {
Map.Entry<String, JedisPool> node = nodeIt.next();
Set<byte[]> nodeKeys = getKeysFromClusterNode(node.getValue(), pattern);
if (nodeKeys == null || nodeKeys.size() == 0) {
continue;
}
keys.addAll(nodeKeys);
}
return keys;
}
代码示例来源:origin: alexxiyang/shiro-redis
@Override
public Long dbSize(byte[] pattern) {
Long dbSize = 0L;
Map<String, JedisPool> clusterNodes = getJedisCluster().getClusterNodes();
Iterator<Map.Entry<String, JedisPool>> nodeIt = clusterNodes.entrySet().iterator();
while (nodeIt.hasNext()) {
Map.Entry<String, JedisPool> node = nodeIt.next();
long nodeDbSize = getDbSizeFromClusterNode(node.getValue(), pattern);
if (nodeDbSize == 0L) {
continue;
}
dbSize += nodeDbSize;
}
return dbSize;
}
代码示例来源:origin: salesforce/Argus
@Override
public void clear() {
Iterator<JedisPool> poolIterator = _jedisClusterClient.getClusterNodes().values().iterator();
while (poolIterator.hasNext()) {
JedisPool pool = poolIterator.next();
Jedis jedis = pool.getResource();
try {
jedis.flushAll();
} catch (Exception ex) {
_logger.error("Exception in cache service: {} ", ex.getMessage());
} finally {
jedis.close();
}
}
}
代码示例来源:origin: org.crazycake/shiro-redis
@Override
public Set<byte[]> keys(byte[] pattern) {
Set<byte[]> keys = new HashSet<byte[]>();
Map<String, JedisPool> clusterNodes = getJedisCluster().getClusterNodes();
Iterator<Map.Entry<String, JedisPool>> nodeIt = clusterNodes.entrySet().iterator();
while (nodeIt.hasNext()) {
Map.Entry<String, JedisPool> node = nodeIt.next();
Set<byte[]> nodeKeys = getKeysFromClusterNode(node.getValue(), pattern);
if (nodeKeys == null || nodeKeys.size() == 0) {
continue;
}
keys.addAll(nodeKeys);
}
return keys;
}
代码示例来源:origin: com.salesforce.argus/argus-core
@Override
public void clear() {
Iterator<JedisPool> poolIterator = _jedisClusterClient.getClusterNodes().values().iterator();
while (poolIterator.hasNext()) {
JedisPool pool = poolIterator.next();
Jedis jedis = pool.getResource();
try {
jedis.flushAll();
} catch (Exception ex) {
_logger.error("Exception in cache service: {} ", ex.getMessage());
} finally {
jedis.close();
}
}
}
代码示例来源:origin: org.nutz/nutz-integration-jedis
@Deprecated @Override
public Set<String> keys(String pattern) {
HashSet<String> keys = new HashSet<String>();
for (JedisPool pool : jedisCluster.getClusterNodes().values()) {
Jedis jedis = null;
try {
jedis = pool.getResource();
keys.addAll(jedis.keys(pattern));
} finally {
if (jedis != null)
jedis.close();
}
}
return keys;
}
代码示例来源:origin: org.springframework.data/spring-data-redis
private JedisPool getResourcePoolForSpecificNode(RedisClusterNode node) {
Map<String, JedisPool> clusterNodes = cluster.getClusterNodes();
if (clusterNodes.containsKey(node.asString())) {
return clusterNodes.get(node.asString());
}
return null;
}
代码示例来源:origin: org.nutz/nutz-integration-jedis
@Deprecated @Override
public Set<byte[]> keys(byte[] pattern) {
HashSet<byte[]> keys = new HashSet<byte[]>();
for (JedisPool pool : jedisCluster.getClusterNodes().values()) {
Jedis jedis = null;
try {
jedis = pool.getResource();
keys.addAll(jedis.keys(pattern));
} finally {
if (jedis != null)
jedis.close();
}
}
return keys;
}
代码示例来源:origin: salesforce/Argus
@Override
public Set<String> getKeysByPattern(String pattern) {
Set<String> keysMatched = new TreeSet<String>();
Iterator<JedisPool> poolIterator = _jedisClusterClient.getClusterNodes().values().iterator();
while (poolIterator.hasNext()) {
JedisPool pool = poolIterator.next();
Jedis jedis = pool.getResource();
try {
keysMatched.addAll(jedis.keys(pattern));
} catch (Exception ex) {
_logger.error("Exception in cache service: {} ", ex.getMessage());
} finally {
jedis.close();
}
}
return keysMatched;
}
代码示例来源:origin: com.salesforce.argus/argus-core
@Override
public Set<String> getKeysByPattern(String pattern) {
Set<String> keysMatched = new TreeSet<String>();
Iterator<JedisPool> poolIterator = _jedisClusterClient.getClusterNodes().values().iterator();
while (poolIterator.hasNext()) {
JedisPool pool = poolIterator.next();
Jedis jedis = pool.getResource();
try {
keysMatched.addAll(jedis.keys(pattern));
} catch (Exception ex) {
_logger.error("Exception in cache service: {} ", ex.getMessage());
} finally {
jedis.close();
}
}
return keysMatched;
}
代码示例来源:origin: org.crazycake/shiro-redis
@Override
public Long dbSize(byte[] pattern) {
Long dbSize = 0L;
Map<String, JedisPool> clusterNodes = getJedisCluster().getClusterNodes();
Iterator<Map.Entry<String, JedisPool>> nodeIt = clusterNodes.entrySet().iterator();
while (nodeIt.hasNext()) {
Map.Entry<String, JedisPool> node = nodeIt.next();
long nodeDbSize = getDbSizeFromClusterNode(node.getValue(), pattern);
if (nodeDbSize == 0L) {
continue;
}
dbSize += nodeDbSize;
}
return dbSize;
}
代码示例来源:origin: apache/servicemix-bundles
private JedisPool getResourcePoolForSpecificNode(RedisClusterNode node) {
Map<String, JedisPool> clusterNodes = cluster.getClusterNodes();
if (clusterNodes.containsKey(node.asString())) {
return clusterNodes.get(node.asString());
}
return null;
}
代码示例来源:origin: kingston-csj/jforgame
private TreeSet<String> keys(String pattern){
TreeSet<String> keys = new TreeSet<>();
//获取所有的节点
Map<String, JedisPool> clusterNodes = cluster.getClusterNodes();
//遍历节点 获取所有符合条件的KEY
for (String k : clusterNodes.keySet()) {
JedisPool jp = clusterNodes.get(k);
Jedis connection = jp.getResource();
try {
keys.addAll(connection.keys(pattern));
} catch(Exception e) {
} finally{
connection.close();//用完一定要close这个链接!!!
}
}
return keys;
}
代码示例来源:origin: daijiejay/daijie
@Override
public void flushDB() throws Exception {
logger.debug("Start flushDb keys...");
Map<String, JedisPool> clusterNodes = jedisCluster.getClusterNodes();
for(String k : clusterNodes.keySet()){
logger.debug("delete keys from: {}", k);
JedisPool jp = clusterNodes.get(k);
Jedis connection = jp.getResource();
try {
connection.flushDB();
} catch(Exception e){
logger.error("Getting keys error: {}", e);
} finally{
logger.debug("Connection closed.");
connection.close();//用完一定要close这个链接!!!
}
}
logger.debug("flushDB");
}
代码示例来源:origin: daijiejay/daijie
@Override
public TreeSet<String> keys(String pattern) throws Exception {
logger.debug("Start getting keys...");
TreeSet<String> keys = new TreeSet<String>();
Map<String, JedisPool> clusterNodes = jedisCluster.getClusterNodes();
for(String k : clusterNodes.keySet()){
logger.debug("Getting keys from: {}", k);
JedisPool jp = clusterNodes.get(k);
Jedis connection = jp.getResource();
try {
Set<String> set = connection.keys(pattern);
Iterator<?> it = set.iterator();
while (it.hasNext()) {
keys.add((String) it.next());
}
} catch(Exception e){
logger.error("Getting keys error: {}", e);
} finally{
logger.debug("Connection closed.");
connection.close();//用完一定要close这个链接!!!
}
}
logger.debug("Keys gotten!");
return keys;
}
代码示例来源:origin: yangfuhai/jboot
/**
* 查找所有符合给定模式 pattern 的 key 。
* KEYS * 匹配数据库中所有 key 。
* KEYS h?llo 匹配 hello , hallo 和 hxllo 等。
* KEYS h*llo 匹配 hllo 和 heeeeello 等。
* KEYS h[ae]llo 匹配 hello 和 hallo ,但不匹配 hillo 。
* 特殊符号用 \ 隔开
*/
public Set<String> keys(String pattern) {
HashSet<String> keys = new HashSet<>();
Map<String, JedisPool> clusterNodes = jedisCluster.getClusterNodes();
for (String k : clusterNodes.keySet()) {
JedisPool jp = clusterNodes.get(k);
Jedis jedis = jp.getResource();
try {
keys.addAll(jedis.keys(pattern));
} catch (Exception e) {
LOG.error(e.toString(), e);
} finally {
jedis.close(); //用完一定要close这个链接!!!
}
}
return keys;
}
代码示例来源:origin: org.springframework.data/spring-data-redis
@Override
public ClusterTopology getTopology() {
if (cached != null && time + 100 > System.currentTimeMillis()) {
return cached;
}
Map<String, Exception> errors = new LinkedHashMap<>();
List<Entry<String, JedisPool>> list = new ArrayList<>(cluster.getClusterNodes().entrySet());
Collections.shuffle(list);
for (Entry<String, JedisPool> entry : list) {
try (Jedis jedis = entry.getValue().getResource()) {
time = System.currentTimeMillis();
Set<RedisClusterNode> nodes = Converters.toSetOfRedisClusterNodes(jedis.clusterNodes());
synchronized (lock) {
cached = new ClusterTopology(nodes);
}
return cached;
} catch (Exception ex) {
errors.put(entry.getKey(), ex);
}
}
StringBuilder sb = new StringBuilder();
for (Entry<String, Exception> entry : errors.entrySet()) {
sb.append(String.format("\r\n\t- %s failed: %s", entry.getKey(), entry.getValue().getMessage()));
}
throw new ClusterStateFailureException(
"Could not retrieve cluster information. CLUSTER NODES returned with error." + sb.toString());
}
}
代码示例来源:origin: apache/servicemix-bundles
@Override
public ClusterTopology getTopology() {
if (cached != null && time + 100 > System.currentTimeMillis()) {
return cached;
}
Map<String, Exception> errors = new LinkedHashMap<>();
List<Entry<String, JedisPool>> list = new ArrayList<>(cluster.getClusterNodes().entrySet());
Collections.shuffle(list);
for (Entry<String, JedisPool> entry : list) {
try (Jedis jedis = entry.getValue().getResource()) {
time = System.currentTimeMillis();
Set<RedisClusterNode> nodes = Converters.toSetOfRedisClusterNodes(jedis.clusterNodes());
synchronized (lock) {
cached = new ClusterTopology(nodes);
}
return cached;
} catch (Exception ex) {
errors.put(entry.getKey(), ex);
}
}
StringBuilder sb = new StringBuilder();
for (Entry<String, Exception> entry : errors.entrySet()) {
sb.append(String.format("\r\n\t- %s failed: %s", entry.getKey(), entry.getValue().getMessage()));
}
throw new ClusterStateFailureException(
"Could not retrieve cluster information. CLUSTER NODES returned with error." + sb.toString());
}
}
内容来源于网络,如有侵权,请联系作者删除!