From c2cf79c97273470c76a493d8e53aae6b0962b5ad Mon Sep 17 00:00:00 2001 From: Jungtaek Lim Date: Sat, 5 Apr 2014 23:48:49 +0900 Subject: [PATCH] Apply PF* (string, binary) commands to Pipeline * Apply PF* (string, binary) commands to Pipeline * PF* Pipeline (string, binary) commands to interface ** pfadd / pfcount : BinaryRedisPipeline, RedisPipeline ** pfmerge : MultiKeyBinaryRedisPipeline, MultiKeyCommandsPipeline --- .../redis/clients/jedis/BinaryClient.java | 4 ++-- .../clients/jedis/BinaryRedisPipeline.java | 4 ++++ .../clients/jedis/JedisClusterCommand.java | 1 - .../jedis/MultiKeyBinaryRedisPipeline.java | 2 ++ .../jedis/MultiKeyCommandsPipeline.java | 2 ++ .../clients/jedis/MultiKeyPipelineBase.java | 12 ++++++++++ .../java/redis/clients/jedis/Pipeline.java | 2 +- .../redis/clients/jedis/PipelineBase.java | 24 +++++++++++++++++++ .../redis/clients/jedis/RedisPipeline.java | 4 ++++ 9 files changed, 51 insertions(+), 4 deletions(-) diff --git a/src/main/java/redis/clients/jedis/BinaryClient.java b/src/main/java/redis/clients/jedis/BinaryClient.java index bbd0f8f..b1aaa96 100644 --- a/src/main/java/redis/clients/jedis/BinaryClient.java +++ b/src/main/java/redis/clients/jedis/BinaryClient.java @@ -1261,7 +1261,7 @@ public class BinaryClient extends Connection { public void pfcount(final byte[] key) { sendCommand(PFCOUNT, key); } - public void pfmerge(final byte[] deskey, final byte[]... sourcekeys) { - sendCommand(PFMERGE, joinParameters(deskey, sourcekeys)); + public void pfmerge(final byte[] destkey, final byte[]... sourcekeys) { + sendCommand(PFMERGE, joinParameters(destkey, sourcekeys)); } } diff --git a/src/main/java/redis/clients/jedis/BinaryRedisPipeline.java b/src/main/java/redis/clients/jedis/BinaryRedisPipeline.java index 73037b7..5ce2ca5 100644 --- a/src/main/java/redis/clients/jedis/BinaryRedisPipeline.java +++ b/src/main/java/redis/clients/jedis/BinaryRedisPipeline.java @@ -210,4 +210,8 @@ public interface BinaryRedisPipeline { Response bitcount(byte[] key); Response bitcount(byte[] key, long start, long end); + + Response pfadd(final byte[] key, final byte[]... elements); + + Response pfcount(final byte[] key); } diff --git a/src/main/java/redis/clients/jedis/JedisClusterCommand.java b/src/main/java/redis/clients/jedis/JedisClusterCommand.java index c1be912..051d5cd 100644 --- a/src/main/java/redis/clients/jedis/JedisClusterCommand.java +++ b/src/main/java/redis/clients/jedis/JedisClusterCommand.java @@ -4,7 +4,6 @@ import redis.clients.jedis.exceptions.JedisAskDataException; import redis.clients.jedis.exceptions.JedisClusterException; import redis.clients.jedis.exceptions.JedisClusterMaxRedirectionsException; import redis.clients.jedis.exceptions.JedisConnectionException; -import redis.clients.jedis.exceptions.JedisException; import redis.clients.jedis.exceptions.JedisMovedDataException; import redis.clients.jedis.exceptions.JedisRedirectionException; import redis.clients.util.JedisClusterCRC16; diff --git a/src/main/java/redis/clients/jedis/MultiKeyBinaryRedisPipeline.java b/src/main/java/redis/clients/jedis/MultiKeyBinaryRedisPipeline.java index fd71016..90bd8ca 100644 --- a/src/main/java/redis/clients/jedis/MultiKeyBinaryRedisPipeline.java +++ b/src/main/java/redis/clients/jedis/MultiKeyBinaryRedisPipeline.java @@ -65,4 +65,6 @@ public interface MultiKeyBinaryRedisPipeline { Response randomKeyBinary(); Response bitop(BitOP op, final byte[] destKey, byte[]... srcKeys); + + Response pfmerge(final byte[] destkey, final byte[]... sourcekeys); } diff --git a/src/main/java/redis/clients/jedis/MultiKeyCommandsPipeline.java b/src/main/java/redis/clients/jedis/MultiKeyCommandsPipeline.java index 92c8d5a..71f00d1 100644 --- a/src/main/java/redis/clients/jedis/MultiKeyCommandsPipeline.java +++ b/src/main/java/redis/clients/jedis/MultiKeyCommandsPipeline.java @@ -64,4 +64,6 @@ public interface MultiKeyCommandsPipeline { Response randomKey(); Response bitop(BitOP op, final String destKey, String... srcKeys); + + Response pfmerge(final String destkey, final String... sourcekeys); } diff --git a/src/main/java/redis/clients/jedis/MultiKeyPipelineBase.java b/src/main/java/redis/clients/jedis/MultiKeyPipelineBase.java index fa7ae6e..f5a953f 100644 --- a/src/main/java/redis/clients/jedis/MultiKeyPipelineBase.java +++ b/src/main/java/redis/clients/jedis/MultiKeyPipelineBase.java @@ -446,4 +446,16 @@ abstract class MultiKeyPipelineBase extends PipelineBase implements client.clusterSetSlotImporting(slot, nodeId); return getResponse(BuilderFactory.STRING); } + + @Override + public Response pfmerge(byte[] destkey, byte[]... sourcekeys) { + client.pfmerge(destkey, sourcekeys); + return getResponse(BuilderFactory.STRING); + } + + @Override + public Response pfmerge(String destkey, String... sourcekeys) { + client.pfmerge(destkey, sourcekeys); + return getResponse(BuilderFactory.STRING); + } } diff --git a/src/main/java/redis/clients/jedis/Pipeline.java b/src/main/java/redis/clients/jedis/Pipeline.java index 2687f84..678f6a6 100755 --- a/src/main/java/redis/clients/jedis/Pipeline.java +++ b/src/main/java/redis/clients/jedis/Pipeline.java @@ -124,5 +124,5 @@ public class Pipeline extends MultiKeyPipelineBase { currentMulti = new MultiResponseBuilder(); return response; } - + } diff --git a/src/main/java/redis/clients/jedis/PipelineBase.java b/src/main/java/redis/clients/jedis/PipelineBase.java index 3183ba1..24046eb 100644 --- a/src/main/java/redis/clients/jedis/PipelineBase.java +++ b/src/main/java/redis/clients/jedis/PipelineBase.java @@ -1204,4 +1204,28 @@ abstract class PipelineBase extends Queable implements BinaryRedisPipeline, return getResponse(BuilderFactory.STRING); } + @Override + public Response pfadd(byte[] key, byte[]... elements) { + getClient(key).pfadd(key, elements); + return getResponse(BuilderFactory.LONG); + } + + @Override + public Response pfcount(byte[] key) { + getClient(key).pfcount(key); + return getResponse(BuilderFactory.LONG); + } + + @Override + public Response pfadd(String key, String... elements) { + getClient(key).pfadd(key, elements); + return getResponse(BuilderFactory.LONG); + } + + @Override + public Response pfcount(String key) { + getClient(key).pfcount(key); + return getResponse(BuilderFactory.LONG); + } + } diff --git a/src/main/java/redis/clients/jedis/RedisPipeline.java b/src/main/java/redis/clients/jedis/RedisPipeline.java index bb5226c..6e36d10 100644 --- a/src/main/java/redis/clients/jedis/RedisPipeline.java +++ b/src/main/java/redis/clients/jedis/RedisPipeline.java @@ -188,4 +188,8 @@ public interface RedisPipeline { Response bitcount(String key); Response bitcount(String key, long start, long end); + + Response pfadd(final String key, final String... elements); + + Response pfcount(final String key); }