diff --git a/src/main/java/org/redisson/RedissonList.java b/src/main/java/org/redisson/RedissonList.java index 6525a5549..41d65037c 100644 --- a/src/main/java/org/redisson/RedissonList.java +++ b/src/main/java/org/redisson/RedissonList.java @@ -357,7 +357,7 @@ public class RedissonList extends RedissonExpirable implements RList { @Override public int indexOf(Object o) { - return get(indexOfAsync(o, new IntegerReplayConvertor())); + return get(indexOfAsync(o)); } @Override @@ -381,11 +381,7 @@ public class RedissonList extends RedissonExpirable implements RList { @Override public Future indexOfAsync(Object o) { - return commandExecutor.evalReadAsync(getName(), new RedisCommand("EVAL", new IntegerReplayConvertor(), 4), - "local s = redis.call('llen', KEYS[1]);" + - "for i = 0, s, 1 do if ARGV[1] == redis.call('lindex', KEYS[1], i) then return i end end;" + - "return -1", - Collections.singletonList(getName()), o); + return indexOfAsync(o, new IntegerReplayConvertor()); } @Override