Skip to content

Commit c291f17

Browse files
author
dengliming
authored
Add support for CLIENT KILL USER (#2444)
1 parent 182cb96 commit c291f17

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

src/main/java/redis/clients/jedis/params/ClientKillParams.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ public class ClientKillParams extends Params {
66
private static final String TYPE = "TYPE";
77
private static final String ADDR = "ADDR";
88
private static final String SKIPME = "SKIPME";
9+
private static final String USER = "USER";
910

1011
public static enum Type {
1112
NORMAL, MASTER, SLAVE, PUBSUB;
@@ -57,4 +58,9 @@ public ClientKillParams skipMe(SkipMe skipMe) {
5758
return this;
5859
}
5960

61+
public ClientKillParams user(String username) {
62+
addParam(USER, username);
63+
return this;
64+
}
65+
6066
}

src/test/java/redis/clients/jedis/tests/commands/ClientCommandsTest.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,17 @@ public void killAddrIpPort() {
182182
assertDisconnected(client);
183183
}
184184

185+
@Test
186+
public void killUser() {
187+
Jedis client2 = new Jedis(hnp.getHost(), hnp.getPort(), 500);
188+
client.aclSetUser("test_kill", "on", "+acl", ">password1");
189+
client2.auth("test_kill", "password1");
190+
long clients = jedis.clientKill(new ClientKillParams().user("test_kill"));
191+
assertEquals(1, clients);
192+
assertDisconnected(client2);
193+
jedis.aclDelUser("test_kill");
194+
}
195+
185196
private void assertDisconnected(Jedis j) {
186197
try {
187198
j.ping();

0 commit comments

Comments
 (0)