add url support

This commit is contained in:
Jonathan Leibiusky
2012-08-01 16:49:44 -03:00
parent 35a7677eb9
commit 8f9763a7e9
8 changed files with 231 additions and 53 deletions

View File

@@ -2,6 +2,7 @@ package redis.clients.jedis;
import static redis.clients.jedis.Protocol.toByteArray;
import java.net.URI;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
@@ -20,7 +21,16 @@ public class BinaryJedis implements BinaryJedisCommands {
protected Client client = null;
public BinaryJedis(final String host) {
client = new Client(host);
URI uri = URI.create(host);
if (uri.getScheme() != null && uri.getScheme().equals("redis")) {
client = new Client(uri.getHost(), uri.getPort());
client.auth(uri.getUserInfo().split(":", 2)[1]);
client.getStatusCodeReply();
client.select(Integer.parseInt(uri.getPath().split("/", 2)[1]));
client.getStatusCodeReply();
} else {
client = new Client(host);
}
}
public BinaryJedis(final String host, final int port) {
@@ -38,6 +48,14 @@ public class BinaryJedis implements BinaryJedisCommands {
client.setPassword(shardInfo.getPassword());
}
public BinaryJedis(URI uri) {
client = new Client(uri.getHost(), uri.getPort());
client.auth(uri.getUserInfo().split(":", 2)[1]);
client.getStatusCodeReply();
client.select(Integer.parseInt(uri.getPath().split("/", 2)[1]));
client.getStatusCodeReply();
}
public String ping() {
checkIsInMulti();
client.ping();