diff --git a/redisson/src/main/java/org/redisson/RedissonBitSet.java b/redisson/src/main/java/org/redisson/RedissonBitSet.java index 4b90271ea6094470ae0893d209a80a40a2fd1d6d..424a9c1e590f686865ac09e92e7c58bf0811a476 100644 --- a/redisson/src/main/java/org/redisson/RedissonBitSet.java +++ b/redisson/src/main/java/org/redisson/RedissonBitSet.java @@ -202,19 +202,16 @@ public class RedissonBitSet extends RedissonExpirable implements RBitSet { @Override public RFuture setAsync(long fromIndex, long toIndex, boolean value) { - if (value) { - return setAsync(fromIndex, toIndex); + CommandBatchService executorService = new CommandBatchService(commandExecutor.getConnectionManager()); + for (long i = fromIndex; i < toIndex; i++) { + executorService.writeAsync(getName(), codec, RedisCommands.SETBIT_VOID, getName(), i, value ? 1 : 0); } - return clearAsync(fromIndex, toIndex); + return executorService.executeAsyncVoid(); } @Override public RFuture clearAsync(long fromIndex, long toIndex) { - CommandBatchService executorService = new CommandBatchService(commandExecutor.getConnectionManager()); - for (long i = fromIndex; i < toIndex; i++) { - executorService.writeAsync(getName(), codec, RedisCommands.SETBIT_VOID, getName(), i, 0); - } - return executorService.executeAsyncVoid(); + return setAsync(fromIndex, toIndex, false); } @Override @@ -229,11 +226,7 @@ public class RedissonBitSet extends RedissonExpirable implements RBitSet { @Override public RFuture setAsync(long fromIndex, long toIndex) { - CommandBatchService executorService = new CommandBatchService(commandExecutor.getConnectionManager()); - for (long i = fromIndex; i < toIndex; i++) { - executorService.writeAsync(getName(), codec, RedisCommands.SETBIT_VOID, getName(), i, 1); - } - return executorService.executeAsyncVoid(); + return setAsync(fromIndex, toIndex, true); } @Override