2017-05-23 6 views
0

좋아, 내가 jedis에게 클러스터 키 방법을 사용어떻게 jedis 클러스터 키 방법을 사용할 수 있습니까?

@Autowired 
private JedisCluster cluster; 
Set<String> keys = new HashSet<>(); 
for (Map.Entry<String, JedisPool> entry : 
cluster.getClusterNodes().entrySet()) { 
    Jedis jedis = entry.getValue().getResource(); 
    Set<String> _keys = jedis.keys(pattern); 
    keys.addAll(_keys); 
} 

하지만,이 코드 던져 예외를, :

redis.clients.jedis.exceptions.JedisDataException: ERR unknown command 'KEYS' 
at redis.clients.jedis.Protocol.processError(Protocol.java:127) 
at redis.clients.jedis.Protocol.process(Protocol.java:161) 
at redis.clients.jedis.Protocol.read(Protocol.java:215) 
at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:340) 
at redis.clients.jedis.Connection.getBinaryMultiBulkReply(Connection.java:276) 
at redis.clients.jedis.Jedis.keys(Jedis.java:246) 

치어 : 내가 쓰는 경우

<dependency> 
    <groupId>redis.clients</groupId> 
    <artifactId>jedis</artifactId> 
    <version>2.9.0</version> 
</dependency> 

나도 몰라 잘못된! 제발 도와 줘서 고마워 !!

답변

1

keys 명령은 아직 jedis 클러스터에서 지원되지 않으며 앞으로 지원 될지 확실하지 않습니다.

대신 스캔을 사용할 수 있습니다.

+0

하오는 스캔 방법을 사용할 수 있습니다. –