From 920c56e8757e2f78f897d5d8c3ad8371bcca1678 Mon Sep 17 00:00:00 2001 From: lizishan Date: Mon, 18 May 2020 15:59:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Dscan=E7=9A=84bug=EF=BC=8C?= =?UTF-8?q?=E5=8F=AA=E6=94=AF=E6=8C=81=E5=85=A8=E9=83=A8scan=EF=BC=8C?= =?UTF-8?q?=E4=B8=8D=E6=94=AF=E6=8C=81=E5=88=86=E9=A1=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/newegg/ec/redis/client/RedisClient.java | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) 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; } /**