diff --git a/src/main/java/redis/clients/jedis/Jedis.java b/src/main/java/redis/clients/jedis/Jedis.java index f27c2bc..16b03f6 100644 --- a/src/main/java/redis/clients/jedis/Jedis.java +++ b/src/main/java/redis/clients/jedis/Jedis.java @@ -13,7 +13,7 @@ import redis.clients.jedis.BinaryClient.LIST_POSITION; import redis.clients.util.SafeEncoder; import redis.clients.util.Slowlog; -public class Jedis extends BinaryJedis implements JedisCommands { +public class Jedis extends BinaryJedis implements JedisCommands, MultiKeyCommands, JedisBasicCommands { public Jedis(final String host) { super(host); } @@ -114,6 +114,11 @@ public class Jedis extends BinaryJedis implements JedisCommands { return client.getIntegerReply(); } + public Long del(String key) { + client.del(key); + return client.getIntegerReply(); + } + /** * Return the type of the value stored at key in form of a string. The type * can be one of "none", "string", "list", "set". "none" is returned if the @@ -1817,6 +1822,42 @@ public class Jedis extends BinaryJedis implements JedisCommands { return multiBulkReply; } + public List blpop(String... args) { + client.blpop(args); + client.setTimeoutInfinite(); + final List multiBulkReply = client.getMultiBulkReply(); + client.rollbackTimeout(); + return multiBulkReply; + } + + public List brpop(String... args) { + client.brpop(args); + client.setTimeoutInfinite(); + final List multiBulkReply = client.getMultiBulkReply(); + client.rollbackTimeout(); + return multiBulkReply; + } + + public List blpop(String arg) { + String[] args = new String[1]; + args[0] = arg; + client.blpop(args); + client.setTimeoutInfinite(); + final List multiBulkReply = client.getMultiBulkReply(); + client.rollbackTimeout(); + return multiBulkReply; + } + + public List brpop(String arg) { + String[] args = new String[1]; + args[0] = arg; + client.brpop(args); + client.setTimeoutInfinite(); + final List multiBulkReply = client.getMultiBulkReply(); + client.rollbackTimeout(); + return multiBulkReply; + } + /** * Sort a Set or a List accordingly to the specified parameters and store * the result at dstkey. diff --git a/src/main/java/redis/clients/jedis/JedisBasicCommands.java b/src/main/java/redis/clients/jedis/JedisBasicCommands.java new file mode 100644 index 0000000..2f89586 --- /dev/null +++ b/src/main/java/redis/clients/jedis/JedisBasicCommands.java @@ -0,0 +1,40 @@ +package redis.clients.jedis; + +import redis.clients.util.Slowlog; + +import java.util.List; + + +public interface JedisBasicCommands { + List configGet(String pattern); + + String configSet(String parameter, String value); + + Object eval(String script, int keyCount, String... params); + + Object eval(String script, List keys, List args); + + Object eval(String script); + + Object evalsha(String script); + + Object evalsha(String sha1, List keys, List args); + + Object evalsha(String sha1, int keyCount, String... params); + + Boolean scriptExists(String sha1); + + List scriptExists(String... sha1); + + String scriptLoad(String script); + + List slowlogGet(); + + List slowlogGet(long entries); + + Long objectRefcount(String string); + + String objectEncoding(String string); + + Long objectIdletime(String string); +} diff --git a/src/main/java/redis/clients/jedis/JedisCommands.java b/src/main/java/redis/clients/jedis/JedisCommands.java index d4c07f3..842e03f 100644 --- a/src/main/java/redis/clients/jedis/JedisCommands.java +++ b/src/main/java/redis/clients/jedis/JedisCommands.java @@ -14,6 +14,8 @@ public interface JedisCommands { Boolean exists(String key); + Long persist(String key); + String type(String key); Long expire(String key, int seconds); @@ -106,6 +108,8 @@ public interface JedisCommands { String srandmember(String key); + Long strlen(String key); + Long zadd(String key, double score, String member); Long zadd(String key, Map scoreMembers); @@ -190,4 +194,14 @@ public interface JedisCommands { Long lpushx(String key, String string); Long rpushx(String key, String string); + + List blpop(String arg); + + List brpop(String arg); + + Long del(String key); + + String echo(String string); + + Long move(String key, int dbIndex); } diff --git a/src/main/java/redis/clients/jedis/MultiKeyCommands.java b/src/main/java/redis/clients/jedis/MultiKeyCommands.java new file mode 100644 index 0000000..8a333a9 --- /dev/null +++ b/src/main/java/redis/clients/jedis/MultiKeyCommands.java @@ -0,0 +1,65 @@ +package redis.clients.jedis; + + +import java.util.List; +import java.util.Set; + +public interface MultiKeyCommands { + Long del(String... keys); + + List blpop(int timeout, String... keys); + + List brpop(int timeout, String... keys); + + List blpop(String... args); + + List brpop(String... args); + + Set keys(String pattern); + + List mget(String... keys); + + String mset(String... keysvalues); + + Long msetnx(String... keysvalues); + + String rename(String oldkey, String newkey); + + Long renamenx(String oldkey, String newkey); + + String rpoplpush(String srckey, String dstkey); + + Set sdiff(String... keys); + + Long sdiffstore(String dstkey, String... keys); + + Set sinter(String... keys); + + Long sinterstore(String dstkey, String... keys); + + Long smove(String srckey, String dstkey, String member); + + Long sort(String key, SortingParams sortingParameters, String dstkey); + + Long sort(String key, String dstkey); + + Set sunion(String... keys); + + Long sunionstore(String dstkey, String... keys); + + String watch(String... keys); + + Long zinterstore(String dstkey, String... sets); + + Long zinterstore(String dstkey, ZParams params, String... sets); + + Long zunionstore(String dstkey, String... sets); + + Long zunionstore(String dstkey, ZParams params, String... sets); + + String brpoplpush(String source, String destination, int timeout); + + Long publish(String channel, String message); + + String randomKey(); +} diff --git a/src/main/java/redis/clients/jedis/ShardedJedis.java b/src/main/java/redis/clients/jedis/ShardedJedis.java index b14adac..6df9157 100644 --- a/src/main/java/redis/clients/jedis/ShardedJedis.java +++ b/src/main/java/redis/clients/jedis/ShardedJedis.java @@ -43,6 +43,11 @@ public class ShardedJedis extends BinaryShardedJedis implements JedisCommands { return j.get(key); } + public String echo(String string) { + Jedis j = getShard(string); + return j.echo(string); + } + public Boolean exists(String key) { Jedis j = getShard(key); return j.exists(key); @@ -103,6 +108,16 @@ public class ShardedJedis extends BinaryShardedJedis implements JedisCommands { return j.setex(key, seconds, value); } + public List blpop(String arg) { + Jedis j = getShard(arg); + return j.blpop(arg); + } + + public List brpop(String arg) { + Jedis j = getShard(arg); + return j.brpop(arg); + } + public Long decrBy(String key, long integer) { Jedis j = getShard(key); return j.decrBy(key, integer); @@ -218,6 +233,11 @@ public class ShardedJedis extends BinaryShardedJedis implements JedisCommands { return j.strlen(key); } + public Long move(String key, int dbIndex) { + Jedis j = getShard(key); + return j.move(key, dbIndex); + } + public Long rpushx(String key, String string) { Jedis j = getShard(key); return j.rpushx(key, string);