diff --git a/src/main/java/redis/clients/jedis/BinaryJedis.java b/src/main/java/redis/clients/jedis/BinaryJedis.java index 16c90f1..1b35263 100644 --- a/src/main/java/redis/clients/jedis/BinaryJedis.java +++ b/src/main/java/redis/clients/jedis/BinaryJedis.java @@ -17,7 +17,7 @@ import redis.clients.jedis.exceptions.JedisException; import redis.clients.util.JedisByteHashMap; import redis.clients.util.SafeEncoder; -public class BinaryJedis implements BinaryJedisCommands { +public class BinaryJedis implements BinaryJedisCommands, MultiKeyBinaryCommands { protected Client client = null; public BinaryJedis(final String host) { @@ -2048,6 +2048,24 @@ public class BinaryJedis implements BinaryJedisCommands { return multiBulkReply; } + public List blpop(byte[]... args) { + checkIsInMulti(); + client.blpop(args); + client.setTimeoutInfinite(); + final List multiBulkReply = client.getBinaryMultiBulkReply(); + client.rollbackTimeout(); + return multiBulkReply; + } + + public List brpop(byte[]... args) { + checkIsInMulti(); + client.brpop(args); + client.setTimeoutInfinite(); + final List multiBulkReply = client.getBinaryMultiBulkReply(); + client.rollbackTimeout(); + return multiBulkReply; + } + /** * Request for authentication in a password protected Redis server. A Redis * server can be instructed to require a password before to allow clients to diff --git a/src/main/java/redis/clients/jedis/BinaryJedisCommands.java b/src/main/java/redis/clients/jedis/BinaryJedisCommands.java index 237d584..71b630e 100644 --- a/src/main/java/redis/clients/jedis/BinaryJedisCommands.java +++ b/src/main/java/redis/clients/jedis/BinaryJedisCommands.java @@ -149,6 +149,8 @@ public interface BinaryJedisCommands { Set zrangeByScore(byte[] key, double min, double max); + Set zrangeByScore(byte[] key, byte[] min, byte[] max); + Set zrevrangeByScore(byte[] key, double max, double min); Set zrangeByScore(byte[] key, double min, double max, int offset, diff --git a/src/main/java/redis/clients/jedis/BinaryShardedJedis.java b/src/main/java/redis/clients/jedis/BinaryShardedJedis.java index 9e9d72b..686af12 100644 --- a/src/main/java/redis/clients/jedis/BinaryShardedJedis.java +++ b/src/main/java/redis/clients/jedis/BinaryShardedJedis.java @@ -391,7 +391,11 @@ public class BinaryShardedJedis extends Sharded Jedis j = getShard(key); return j.zrangeByScoreWithScores(key, min, max, offset, count); } - + + public Set zrangeByScore(byte[] key, byte[] min, byte[] max) { + Jedis j = getShard(key); + return j.zrangeByScore(key, min, max); + } public Set zrangeByScoreWithScores(byte[] key, byte[] min, byte[] max) { Jedis j = getShard(key); diff --git a/src/main/java/redis/clients/jedis/MultiKeyBinaryCommands.java b/src/main/java/redis/clients/jedis/MultiKeyBinaryCommands.java new file mode 100644 index 0000000..b115173 --- /dev/null +++ b/src/main/java/redis/clients/jedis/MultiKeyBinaryCommands.java @@ -0,0 +1,65 @@ +package redis.clients.jedis; + + +import java.util.List; +import java.util.Set; + +public interface MultiKeyBinaryCommands { + Long del(byte[]... keys); + + List blpop(int timeout, byte[]... keys); + + List brpop(int timeout, byte[]... keys); + + List blpop(byte[]... args); + + List brpop(byte[]... args); + + Set keys(byte[] pattern); + + List mget(byte[]... keys); + + String mset(byte[]... keysvalues); + + Long msetnx(byte[]... keysvalues); + + String rename(byte[] oldkey, byte[] newkey); + + Long renamenx(byte[] oldkey, byte[] newkey); + + byte[] rpoplpush(byte[] srckey, byte[] dstkey); + + Set sdiff(byte[]... keys); + + Long sdiffstore(byte[] dstkey, byte[]... keys); + + Set sinter(byte[]... keys); + + Long sinterstore(byte[] dstkey, byte[]... keys); + + Long smove(byte[] srckey, byte[] dstkey, byte[] member); + + Long sort(byte[] key, SortingParams sortingParameters, byte[] dstkey); + + Long sort(byte[] key, byte[] dstkey); + + Set sunion(byte[]... keys); + + Long sunionstore(byte[] dstkey, byte[]... keys); + + String watch(byte[]... keys); + + Long zinterstore(byte[] dstkey, byte[]... sets); + + Long zinterstore(byte[] dstkey, ZParams params, byte[]... sets); + + Long zunionstore(byte[] dstkey, byte[]... sets); + + Long zunionstore(byte[] dstkey, ZParams params, byte[]... sets); + + byte[] brpoplpush(byte[] source, byte[] destination, int timeout); + + Long publish(byte[] channel, byte[] message); + + byte[] randomBinaryKey(); +}