diff --git a/redis-manager-dashboard/src/main/java/com/newegg/ec/redis/client/RedisClient.java b/redis-manager-dashboard/src/main/java/com/newegg/ec/redis/client/RedisClient.java index 4257e49e..e18493d4 100644 --- a/redis-manager-dashboard/src/main/java/com/newegg/ec/redis/client/RedisClient.java +++ b/redis-manager-dashboard/src/main/java/com/newegg/ec/redis/client/RedisClient.java @@ -96,8 +96,17 @@ public Map getClusterInfo() throws Exception { public Set scan(AutoCommandParam autoCommandParam) { ScanParams scanParams = autoCommandParam.buildScanParams(); jedis.select(autoCommandParam.getDatabase()); - ScanResult scanResult = jedis.scan(autoCommandParam.getCursor(), scanParams); - return new LinkedHashSet<>(scanResult.getResult()); + String cursor = autoCommandParam.getCursor(); + boolean isComplete = false; + Set scanKeys = new LinkedHashSet<>(); + do { + ScanResult scanResult = jedis.scan(cursor, scanParams); + cursor = scanResult.getCursor(); + isComplete = scanResult.isCompleteIteration(); + scanKeys.addAll(scanResult.getResult()); + } + while (!"0".equals(cursor) && !isComplete); + return scanKeys; } /**