diff --git a/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterHashCommands.java b/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterHashCommands.java index 1bfbfe550..377c7056f 100644 --- a/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterHashCommands.java +++ b/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterHashCommands.java @@ -279,9 +279,10 @@ class JedisClusterHashCommands implements RedisHashCommands { ScanParams params = JedisConverters.toScanParams(options); - ScanResult> result = connection.getCluster().hscan(key, JedisConverters.toBytes(cursorId), + ScanResult> result = connection.getCluster().hscan(key, + JedisConverters.toBytes(Long.toUnsignedString(cursorId)), params); - return new ScanIteration<>(Long.valueOf(result.getCursor()), result.getResult()); + return new ScanIteration<>(Long.parseUnsignedLong(result.getCursor()), result.getResult()); } }.open(); } diff --git a/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterKeyCommands.java b/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterKeyCommands.java index 3525381d4..2f2ec7881 100644 --- a/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterKeyCommands.java +++ b/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterKeyCommands.java @@ -180,8 +180,8 @@ class JedisClusterKeyCommands implements RedisKeyCommands { protected ScanIteration doScan(long cursorId, ScanOptions options) { ScanParams params = JedisConverters.toScanParams(options); - ScanResult result = client.scan(Long.toString(cursorId), params); - return new ScanIteration<>(Long.valueOf(result.getCursor()), + ScanResult result = client.scan(Long.toUnsignedString(cursorId), params); + return new ScanIteration<>(Long.parseUnsignedLong(result.getCursor()), JedisConverters.stringListToByteList().convert(result.getResult())); } }.open(); diff --git a/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterSetCommands.java b/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterSetCommands.java index 01560c617..161c80348 100644 --- a/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterSetCommands.java +++ b/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterSetCommands.java @@ -397,8 +397,9 @@ class JedisClusterSetCommands implements RedisSetCommands { protected ScanIteration doScan(long cursorId, ScanOptions options) { ScanParams params = JedisConverters.toScanParams(options); - ScanResult result = connection.getCluster().sscan(key, JedisConverters.toBytes(cursorId), params); - return new ScanIteration<>(Long.parseLong(result.getCursor()), result.getResult()); + ScanResult result = connection.getCluster().sscan(key, + JedisConverters.toBytes(Long.toUnsignedString(cursorId)), params); + return new ScanIteration<>(Long.parseUnsignedLong(result.getCursor()), result.getResult()); } }.open(); } diff --git a/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterZSetCommands.java b/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterZSetCommands.java index c09018608..529e1de94 100644 --- a/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterZSetCommands.java +++ b/src/main/java/org/springframework/data/redis/connection/jedis/JedisClusterZSetCommands.java @@ -1084,8 +1084,8 @@ class JedisClusterZSetCommands implements RedisZSetCommands { ScanParams params = JedisConverters.toScanParams(options); ScanResult result = connection.getCluster().zscan(key, - JedisConverters.toBytes(cursorId), params); - return new ScanIteration<>(Long.valueOf(result.getCursor()), + JedisConverters.toBytes(Long.toUnsignedString(cursorId)), params); + return new ScanIteration<>(Long.parseUnsignedLong(result.getCursor()), JedisConverters.tuplesToTuples().convert(result.getResult())); } }.open(); diff --git a/src/main/java/org/springframework/data/redis/connection/jedis/JedisHashCommands.java b/src/main/java/org/springframework/data/redis/connection/jedis/JedisHashCommands.java index 419d19d3f..00d021401 100644 --- a/src/main/java/org/springframework/data/redis/connection/jedis/JedisHashCommands.java +++ b/src/main/java/org/springframework/data/redis/connection/jedis/JedisHashCommands.java @@ -244,9 +244,10 @@ class JedisHashCommands implements RedisHashCommands { ScanParams params = JedisConverters.toScanParams(options); - ScanResult> result = connection.getJedis().hscan(key, JedisConverters.toBytes(cursorId), + ScanResult> result = connection.getJedis().hscan(key, + JedisConverters.toBytes(Long.toUnsignedString(cursorId)), params); - return new ScanIteration<>(Long.valueOf(result.getCursor()), result.getResult()); + return new ScanIteration<>(Long.parseUnsignedLong(result.getCursor()), result.getResult()); } @Override diff --git a/src/main/java/org/springframework/data/redis/connection/jedis/JedisKeyCommands.java b/src/main/java/org/springframework/data/redis/connection/jedis/JedisKeyCommands.java index 1e3f45582..138dbf268 100644 --- a/src/main/java/org/springframework/data/redis/connection/jedis/JedisKeyCommands.java +++ b/src/main/java/org/springframework/data/redis/connection/jedis/JedisKeyCommands.java @@ -165,12 +165,12 @@ class JedisKeyCommands implements RedisKeyCommands { } if (type != null) { - result = connection.getJedis().scan(Long.toString(cursorId).getBytes(), params, type); + result = connection.getJedis().scan(Long.toUnsignedString(cursorId).getBytes(), params, type); } else { - result = connection.getJedis().scan(Long.toString(cursorId).getBytes(), params); + result = connection.getJedis().scan(Long.toUnsignedString(cursorId).getBytes(), params); } - return new ScanIteration<>(Long.parseLong(result.getCursor()), result.getResult()); + return new ScanIteration<>(Long.parseUnsignedLong(result.getCursor()), result.getResult()); } protected void doClose() { diff --git a/src/main/java/org/springframework/data/redis/connection/jedis/JedisSetCommands.java b/src/main/java/org/springframework/data/redis/connection/jedis/JedisSetCommands.java index 654b0b5c4..753d4fa07 100644 --- a/src/main/java/org/springframework/data/redis/connection/jedis/JedisSetCommands.java +++ b/src/main/java/org/springframework/data/redis/connection/jedis/JedisSetCommands.java @@ -231,8 +231,9 @@ class JedisSetCommands implements RedisSetCommands { ScanParams params = JedisConverters.toScanParams(options); - ScanResult result = connection.getJedis().sscan(key, JedisConverters.toBytes(cursorId), params); - return new ScanIteration<>(Long.valueOf(result.getCursor()), result.getResult()); + ScanResult result = connection.getJedis().sscan(key, + JedisConverters.toBytes(Long.toUnsignedString(cursorId)), params); + return new ScanIteration<>(Long.parseUnsignedLong(result.getCursor()), result.getResult()); } protected void doClose() { diff --git a/src/main/java/org/springframework/data/redis/connection/jedis/JedisZSetCommands.java b/src/main/java/org/springframework/data/redis/connection/jedis/JedisZSetCommands.java index a19247a8d..6e609f158 100644 --- a/src/main/java/org/springframework/data/redis/connection/jedis/JedisZSetCommands.java +++ b/src/main/java/org/springframework/data/redis/connection/jedis/JedisZSetCommands.java @@ -587,8 +587,8 @@ class JedisZSetCommands implements RedisZSetCommands { ScanParams params = JedisConverters.toScanParams(options); ScanResult result = connection.getJedis().zscan(key, - JedisConverters.toBytes(cursorId), params); - return new ScanIteration<>(Long.valueOf(result.getCursor()), + JedisConverters.toBytes(Long.toUnsignedString(cursorId)), params); + return new ScanIteration<>(Long.parseUnsignedLong(result.getCursor()), JedisConverters.tuplesToTuples().convert(result.getResult())); } diff --git a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceConnection.java b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceConnection.java index 01ba6a780..34e5f1bce 100644 --- a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceConnection.java +++ b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceConnection.java @@ -1061,7 +1061,7 @@ public class LettuceConnection extends AbstractRedisConnection { } io.lettuce.core.ScanCursor getScanCursor(long cursorId) { - return io.lettuce.core.ScanCursor.of(Long.toString(cursorId)); + return io.lettuce.core.ScanCursor.of(Long.toUnsignedString(cursorId)); } private void validateCommandIfRunningInTransactionMode(ProtocolKeyword cmd, byte[]... args) { diff --git a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceHashCommands.java b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceHashCommands.java index cf1c65270..07d9d8663 100644 --- a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceHashCommands.java +++ b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceHashCommands.java @@ -235,7 +235,7 @@ class LettuceHashCommands implements RedisHashCommands { String nextCursorId = mapScanCursor.getCursor(); Map values = mapScanCursor.getMap(); - return new ScanIteration<>(Long.valueOf(nextCursorId), values.entrySet()); + return new ScanIteration<>(Long.parseUnsignedLong(nextCursorId), values.entrySet()); } @Override diff --git a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceScanCursor.java b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceScanCursor.java index e5276b2fb..4d6c42410 100644 --- a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceScanCursor.java +++ b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceScanCursor.java @@ -77,7 +77,7 @@ abstract class LettuceScanCursor extends ScanCursor { } private boolean isMatchingCursor(long cursorId) { - return state != null && state.getCursor().equals(Long.toString(cursorId)); + return state != null && state.getCursor().equals(Long.toUnsignedString(cursorId)); } /** @@ -101,7 +101,7 @@ abstract class LettuceScanCursor extends ScanCursor { LettuceScanIteration(io.lettuce.core.ScanCursor cursor, Collection items) { - super(Long.parseLong(cursor.getCursor()), items); + super(Long.parseUnsignedLong(cursor.getCursor()), items); this.cursor = cursor; } } diff --git a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceSetCommands.java b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceSetCommands.java index 4629be67c..f8d6407b1 100644 --- a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceSetCommands.java +++ b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceSetCommands.java @@ -232,7 +232,7 @@ class LettuceSetCommands implements RedisSetCommands { String nextCursorId = valueScanCursor.getCursor(); List values = connection.failsafeReadScanValues(valueScanCursor.getValues(), null); - return new ScanIteration<>(Long.valueOf(nextCursorId), values); + return new ScanIteration<>(Long.parseUnsignedLong(nextCursorId), values); } protected void doClose() { diff --git a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceZSetCommands.java b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceZSetCommands.java index cc3e63601..ae54f44bc 100644 --- a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceZSetCommands.java +++ b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceZSetCommands.java @@ -559,7 +559,7 @@ class LettuceZSetCommands implements RedisZSetCommands { List> result = scoredValueScanCursor.getValues(); List values = connection.failsafeReadScanValues(result, LettuceConverters.scoredValuesToTupleList()); - return new ScanIteration<>(Long.valueOf(nextCursorId), values); + return new ScanIteration<>(Long.parseUnsignedLong(nextCursorId), values); } @Override