@Override public void reshard(final RedisClusterNode source, final int slot, final RedisClusterNode target) { Assert.notNull(source, "Source node must not be null."); Assert.notNull(target, "Target node must not be null."); execute((RedisClusterCallback<Void>) connection -> { connection.clusterSetSlot(target, slot, AddSlots.IMPORTING); connection.clusterSetSlot(source, slot, AddSlots.MIGRATING); List<byte[]> keys = connection.clusterGetKeysInSlot(slot, Integer.MAX_VALUE); for (byte[] key : keys) { connection.migrate(key, source, 0, MigrateOption.COPY); } connection.clusterSetSlot(target, slot, AddSlots.NODE); return null; }); }
@Override public void reshard(final RedisClusterNode source, final int slot, final RedisClusterNode target) { Assert.notNull(source, "Source node must not be null."); Assert.notNull(target, "Target node must not be null."); execute((RedisClusterCallback<Void>) connection -> { connection.clusterSetSlot(target, slot, AddSlots.IMPORTING); connection.clusterSetSlot(source, slot, AddSlots.MIGRATING); List<byte[]> keys = connection.clusterGetKeysInSlot(slot, Integer.MAX_VALUE); for (byte[] key : keys) { connection.migrate(key, source, 0, MigrateOption.COPY); } connection.clusterSetSlot(target, slot, AddSlots.NODE); return null; }); }
@Override public void reshard(final RedisClusterNode source, final int slot, final RedisClusterNode target) { Assert.notNull(source, "Source node must not be null."); Assert.notNull(target, "Target node must not be null."); execute((RedisClusterCallback<Void>) connection -> { connection.clusterSetSlot(target, slot, AddSlots.IMPORTING); connection.clusterSetSlot(source, slot, AddSlots.MIGRATING); List<byte[]> keys = connection.clusterGetKeysInSlot(slot, Integer.MAX_VALUE); for (byte[] key : keys) { connection.migrate(key, source, 0, MigrateOption.COPY); } connection.clusterSetSlot(target, slot, AddSlots.NODE); return null; }); }