diff --git a/redisson/src/main/java/org/redisson/RedissonLiveObjectService.java b/redisson/src/main/java/org/redisson/RedissonLiveObjectService.java index ade221df4..878a99881 100644 --- a/redisson/src/main/java/org/redisson/RedissonLiveObjectService.java +++ b/redisson/src/main/java/org/redisson/RedissonLiveObjectService.java @@ -713,9 +713,11 @@ public class RedissonLiveObjectService implements RLiveObjectService { RedisCommand> command = new RedisCommand<>("SCAN", new ListMultiDecoder2(new ListScanResultReplayDecoder(), new ObjectListReplayDecoder()), new Convertor() { + int index; @Override public Object convert(Object obj) { - if (!(obj instanceof String)) { + index++; + if (index == 1) { return obj; } return namingScheme.resolveId(obj.toString()); diff --git a/redisson/src/main/java/org/redisson/RedissonSet.java b/redisson/src/main/java/org/redisson/RedissonSet.java index e5b6f1625..515c3ebdf 100644 --- a/redisson/src/main/java/org/redisson/RedissonSet.java +++ b/redisson/src/main/java/org/redisson/RedissonSet.java @@ -161,7 +161,7 @@ public class RedissonSet extends RedissonExpirable implements RSet, ScanIt + "cursor = 0;" + "end;" + "if cursor == -1 then " - + "return {0, {}}; " + + "return {'0', {}}; " + "end;" + "local result; " + "if (#ARGV == 2) then " diff --git a/redisson/src/main/java/org/redisson/RedissonSortedSet.java b/redisson/src/main/java/org/redisson/RedissonSortedSet.java index 29cf2a1a3..70d40922b 100644 --- a/redisson/src/main/java/org/redisson/RedissonSortedSet.java +++ b/redisson/src/main/java/org/redisson/RedissonSortedSet.java @@ -427,7 +427,7 @@ public class RedissonSortedSet extends RedissonExpirable implements RSortedSe + "start_index = 0;" + "end;" + "if start_index == -1 then " - + "return {0, {}}; " + + "return {'0', {}}; " + "end;" + "local end_index = start_index + ARGV[1];" + "local result; " @@ -436,7 +436,7 @@ public class RedissonSortedSet extends RedissonExpirable implements RSortedSe + "end_index = -1;" + "end; " + "redis.call('setex', KEYS[2], 3600, end_index);" - + "return {end_index, result};", + + "return {tostring(end_index), result};", Arrays.asList(list.getRawName(), iteratorName), count); }