Add CLUSTER INFO, CLUSTER SETSLOT and CLUSTER GETKEYSINSLOT commands
This commit is contained in:
@@ -3100,4 +3100,35 @@ public class Jedis extends BinaryJedis implements JedisCommands, MultiKeyCommand
|
|||||||
client.cluster(Protocol.CLUSTER_DELSLOTS, slots);
|
client.cluster(Protocol.CLUSTER_DELSLOTS, slots);
|
||||||
return client.getStatusCodeReply();
|
return client.getStatusCodeReply();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String clusterInfo() {
|
||||||
|
checkIsInMulti();
|
||||||
|
client.cluster(Protocol.CLUSTER_INFO);
|
||||||
|
return client.getStatusCodeReply();
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<String> clusterGetKeysInSlot(final int slot, final int count) {
|
||||||
|
checkIsInMulti();
|
||||||
|
final int[] args = new int[]{ slot, count };
|
||||||
|
client.cluster(Protocol.CLUSTER_GETKEYSINSLOT, args);
|
||||||
|
return client.getMultiBulkReply();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String clusterSetSlotNode(final int slot, final String nodeId) {
|
||||||
|
checkIsInMulti();
|
||||||
|
client.cluster(Protocol.CLUSTER_SETSLOT, String.valueOf(slot), Protocol.CLUSTER_SETSLOT_NODE, nodeId);
|
||||||
|
return client.getStatusCodeReply();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String clusterSetSlotMigrating(final int slot, final String nodeId) {
|
||||||
|
checkIsInMulti();
|
||||||
|
client.cluster(Protocol.CLUSTER_SETSLOT, String.valueOf(slot), Protocol.CLUSTER_SETSLOT_MIGRATING, nodeId);
|
||||||
|
return client.getStatusCodeReply();
|
||||||
|
}
|
||||||
|
|
||||||
|
public String clusterSetSlotImporting(final int slot, final String nodeId) {
|
||||||
|
checkIsInMulti();
|
||||||
|
client.cluster(Protocol.CLUSTER_SETSLOT, String.valueOf(slot), Protocol.CLUSTER_SETSLOT_IMPORTING, nodeId);
|
||||||
|
return client.getStatusCodeReply();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -34,6 +34,12 @@ public final class Protocol {
|
|||||||
public static final String CLUSTER_MEET = "meet";
|
public static final String CLUSTER_MEET = "meet";
|
||||||
public static final String CLUSTER_ADDSLOTS = "addslots";
|
public static final String CLUSTER_ADDSLOTS = "addslots";
|
||||||
public static final String CLUSTER_DELSLOTS = "delslots";
|
public static final String CLUSTER_DELSLOTS = "delslots";
|
||||||
|
public static final String CLUSTER_INFO = "info";
|
||||||
|
public static final String CLUSTER_GETKEYSINSLOT = "getkeysinslot";
|
||||||
|
public static final String CLUSTER_SETSLOT = "setslot";
|
||||||
|
public static final String CLUSTER_SETSLOT_NODE = "node";
|
||||||
|
public static final String CLUSTER_SETSLOT_MIGRATING = "migrating";
|
||||||
|
public static final String CLUSTER_SETSLOT_IMPORTING = "importing";
|
||||||
|
|
||||||
private Protocol() {
|
private Protocol() {
|
||||||
// this prevent the class from instantiation
|
// this prevent the class from instantiation
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
package redis.clients.jedis.tests.commands;
|
package redis.clients.jedis.tests.commands;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import org.junit.After;
|
import org.junit.After;
|
||||||
import org.junit.Before;
|
import org.junit.Before;
|
||||||
import org.junit.Test;
|
import org.junit.Test;
|
||||||
@@ -58,4 +60,43 @@ public class ClusterCommandsTest extends JedisTestBase {
|
|||||||
String status = node1.clusterDelSlots(900);
|
String status = node1.clusterDelSlots(900);
|
||||||
assertEquals("OK", status);
|
assertEquals("OK", status);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void clusterInfo() {
|
||||||
|
String info = node1.clusterInfo();
|
||||||
|
assertNotNull(info);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void clusterGetKeysInSlot() {
|
||||||
|
node1.clusterAddSlots(500);
|
||||||
|
List<String> keys = node1.clusterGetKeysInSlot(500, 1);
|
||||||
|
assertEquals(0, keys.size());
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void clusterSetSlotNode() {
|
||||||
|
String[] nodes = node1.clusterNodes().split("\n");
|
||||||
|
String nodeId = nodes[0].split(" ")[0];
|
||||||
|
String status = node1.clusterSetSlotNode(10000, nodeId);
|
||||||
|
assertEquals("OK", status);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void clusterSetSlotMigrating() {
|
||||||
|
node1.clusterAddSlots(5000);
|
||||||
|
String[] nodes = node1.clusterNodes().split("\n");
|
||||||
|
String nodeId = nodes[0].split(" ")[0];
|
||||||
|
String status = node1.clusterSetSlotMigrating(5000, nodeId);
|
||||||
|
assertEquals("OK", status);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void clusterSetSlotImporting() {
|
||||||
|
node2.clusterAddSlots(6000);
|
||||||
|
String[] nodes = node1.clusterNodes().split("\n");
|
||||||
|
String nodeId = nodes[0].split(" ")[0];
|
||||||
|
String status = node1.clusterSetSlotImporting(6000, nodeId);
|
||||||
|
assertEquals("OK", status);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user