diff --git a/src/main/java/redis/clients/jedis/BinaryJedis.java b/src/main/java/redis/clients/jedis/BinaryJedis.java index a9ac439..1c96a34 100644 --- a/src/main/java/redis/clients/jedis/BinaryJedis.java +++ b/src/main/java/redis/clients/jedis/BinaryJedis.java @@ -2896,9 +2896,9 @@ public class BinaryJedis implements BinaryJedisCommands { * @param timeout * @return the element */ - public String brpoplpush(byte[] source, byte[] destination, int timeout) { + public byte[] brpoplpush(byte[] source, byte[] destination, int timeout) { client.brpoplpush(source, destination, timeout); - return client.getBulkReply(); + return client.getBinaryBulkReply(); } /** diff --git a/src/main/java/redis/clients/jedis/BinaryTransaction.java b/src/main/java/redis/clients/jedis/BinaryTransaction.java index 40823b4..10585bf 100644 --- a/src/main/java/redis/clients/jedis/BinaryTransaction.java +++ b/src/main/java/redis/clients/jedis/BinaryTransaction.java @@ -3,6 +3,8 @@ package redis.clients.jedis; import java.util.List; import java.util.Map; +import redis.clients.jedis.BinaryClient.LIST_POSITION; + public class BinaryTransaction { protected Client client = null; protected boolean inTransaction = true; @@ -430,4 +432,20 @@ public class BinaryTransaction { inTransaction = false; return client.getStatusCodeReply(); } + + public String setbit(byte[] key, int offset, byte[] value) { + client.setbit(key, offset, value); + return client.getStatusCodeReply(); + } + + public String getbit(byte[] key, int offset) { + client.getbit(key, offset); + return client.getStatusCodeReply(); + } + + public String linsert(final byte[] key, final LIST_POSITION where, + final byte[] pivot, final byte[] value) { + client.linsert(key, where, pivot, value); + return client.getStatusCodeReply(); + } } \ No newline at end of file diff --git a/src/main/java/redis/clients/jedis/Commands.java b/src/main/java/redis/clients/jedis/Commands.java index e9c4240..4ba1cf1 100644 --- a/src/main/java/redis/clients/jedis/Commands.java +++ b/src/main/java/redis/clients/jedis/Commands.java @@ -230,4 +230,10 @@ public interface Commands { public void configGet(final String pattern); public void configResetStat(); + + public void multi(); + + public void exec(); + + public void discard(); } \ No newline at end of file diff --git a/src/main/java/redis/clients/jedis/Pipeline.java b/src/main/java/redis/clients/jedis/Pipeline.java index c878051..ee80078 100644 --- a/src/main/java/redis/clients/jedis/Pipeline.java +++ b/src/main/java/redis/clients/jedis/Pipeline.java @@ -438,4 +438,16 @@ public class Pipeline implements Commands { public void lastsave() { client.lastsave(); } + + public void discard() { + client.discard(); + } + + public void exec() { + client.exec(); + } + + public void multi() { + client.multi(); + } } diff --git a/src/main/java/redis/clients/jedis/PipelineBlock.java b/src/main/java/redis/clients/jedis/PipelineBlock.java index 8fddceb..2fa5be2 100644 --- a/src/main/java/redis/clients/jedis/PipelineBlock.java +++ b/src/main/java/redis/clients/jedis/PipelineBlock.java @@ -434,5 +434,17 @@ public abstract class PipelineBlock implements Commands { client.lastsave(); } + public void discard() { + client.discard(); + } + + public void exec() { + client.exec(); + } + + public void multi() { + client.multi(); + } + public abstract void execute(); } diff --git a/src/main/java/redis/clients/jedis/Transaction.java b/src/main/java/redis/clients/jedis/Transaction.java index c9c9785..caec521 100644 --- a/src/main/java/redis/clients/jedis/Transaction.java +++ b/src/main/java/redis/clients/jedis/Transaction.java @@ -2,6 +2,8 @@ package redis.clients.jedis; import java.util.Map; +import redis.clients.jedis.BinaryClient.LIST_POSITION; + public class Transaction extends BinaryTransaction { public Transaction() { } @@ -389,4 +391,20 @@ public class Transaction extends BinaryTransaction { client.sort(key, sortingParameters); return client.getStatusCodeReply(); } + + public String setbit(String key, long offset, String value) { + client.setbit(key, offset, value); + return client.getStatusCodeReply(); + } + + public String getbit(String key, long offset) { + client.getbit(key, offset); + return client.getStatusCodeReply(); + } + + public String linsert(final String key, final LIST_POSITION where, + final String pivot, final String value) { + client.linsert(key, where, pivot, value); + return client.getStatusCodeReply(); + } } \ No newline at end of file diff --git a/src/test/java/redis/clients/jedis/tests/commands/ListCommandsTest.java b/src/test/java/redis/clients/jedis/tests/commands/ListCommandsTest.java index 41f06a1..5d0462e 100644 --- a/src/test/java/redis/clients/jedis/tests/commands/ListCommandsTest.java +++ b/src/test/java/redis/clients/jedis/tests/commands/ListCommandsTest.java @@ -3,6 +3,7 @@ package redis.clients.jedis.tests.commands; import java.io.IOException; import java.net.UnknownHostException; import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import org.junit.Test; @@ -621,9 +622,10 @@ public class ListCommandsTest extends JedisCommandTestBase { } })).start(); - element = jedis.brpoplpush("foo".getBytes(), "bar".getBytes(), 0); + byte[] brpoplpush = jedis.brpoplpush("foo".getBytes(), + "bar".getBytes(), 0); - assertEquals("a", element); + assertTrue(Arrays.equals("a".getBytes(), brpoplpush)); assertEquals(1, jedis.llen("bar").longValue()); assertEquals("a", jedis.lrange("bar", 0, -1).get(0));