Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions src/main/java/redis/clients/jedis/BinaryClient.java
Original file line number Diff line number Diff line change
Expand Up @@ -1316,6 +1316,21 @@ public void clientList() {
sendCommand(CLIENT, Keyword.LIST.getRaw());
}

public void clientList(final long... clientIds) {
final byte[][] params = new byte[2 + clientIds.length][];
int index = 0;
params[index++] = Keyword.LIST.getRaw();
params[index++] = ID.getRaw();
for (final long clientId : clientIds) {
params[index++] = toByteArray(clientId);
}
sendCommand(CLIENT, params);
}

public void clientInfo() {
sendCommand(CLIENT, INFO.getRaw());
}

public void clientSetname(final byte[] name) {
sendCommand(CLIENT, Keyword.SETNAME.getRaw(), name);
}
Expand Down
14 changes: 14 additions & 0 deletions src/main/java/redis/clients/jedis/BinaryJedis.java
Original file line number Diff line number Diff line change
Expand Up @@ -4266,6 +4266,20 @@ public byte[] clientListBinary() {
return client.getBinaryBulkReply();
}

@Override
public byte[] clientListBinary(final long... clientIds) {
checkIsInMultiOrPipeline();
client.clientList(clientIds);
return client.getBinaryBulkReply();
}

@Override
public byte[] clientInfoBinary() {
checkIsInMultiOrPipeline();
client.clientInfo();
return client.getBinaryBulkReply();
}

@Override
public String clientSetname(final byte[] name) {
checkIsInMultiOrPipeline();
Expand Down
14 changes: 14 additions & 0 deletions src/main/java/redis/clients/jedis/Jedis.java
Original file line number Diff line number Diff line change
Expand Up @@ -3568,6 +3568,20 @@ public String clientList() {
return client.getBulkReply();
}

@Override
public String clientList(final long... clientIds) {
checkIsInMultiOrPipeline();
client.clientList(clientIds);
return client.getBulkReply();
}

@Override
public String clientInfo() {
checkIsInMultiOrPipeline();
client.clientInfo();
return client.getBulkReply();
}

@Override
public String clientSetname(final String name) {
checkIsInMultiOrPipeline();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,10 @@ String migrate(String host, int port, int destinationDB, int timeout, MigratePar

byte[] clientListBinary();

byte[] clientListBinary(long... clientIds);

byte[] clientInfoBinary();

String clientSetname(byte[] name);

Long clientId();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,10 @@ String migrate(String host, int port, int destinationDB, int timeout, MigratePar

String clientList();

String clientList(long... clientIds);

String clientInfo();

String clientSetname(String name);

Long clientId();
Expand Down
4 changes: 4 additions & 0 deletions src/main/java/redis/clients/jedis/commands/Commands.java
Original file line number Diff line number Diff line change
Expand Up @@ -476,6 +476,10 @@ default void restoreReplace(String key, int ttl, byte[] serializedValue) {

void clientList();

void clientList(long... clientIds);

void clientInfo();

void clientSetname(String name);

void clientId();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import static org.junit.Assert.assertArrayEquals;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import static redis.clients.jedis.params.ClientKillParams.Type;
Expand Down Expand Up @@ -228,6 +229,22 @@ public void killUser() {
jedis.aclDelUser("test_kill");
}

@Test
public void clientInfo() {
String info = client.clientInfo();
assertNotNull(info);
assertEquals(1, info.split("\n").length);
assertTrue(info.contains(clientName));
}

@Test
public void clientListWithClientId() {
Long id = client.clientId();
String listInfo = jedis.clientList(id);
assertNotNull(listInfo);
assertTrue(listInfo.contains(clientName));
}

private void assertDisconnected(Jedis j) {
try {
j.ping();
Expand Down