From 1345b5c1da180631fdf9d3bf98813e1897dbd9e8 Mon Sep 17 00:00:00 2001 From: Jungtaek Lim Date: Sat, 5 Apr 2014 22:19:11 +0900 Subject: [PATCH] Apply PF* commands to JedisCluster, ShardedJedis * Apply PF* commands to JedisCluster, ShardedJedis * PF* commands to interface ** pfadd / pfcount : JedisCommands ** pfmerge : MultiKeyCommands --- src/main/java/redis/clients/jedis/Jedis.java | 2 +- .../redis/clients/jedis/JedisCluster.java | 23 +++++++++++++++++++ .../redis/clients/jedis/JedisCommands.java | 4 ++++ .../redis/clients/jedis/MultiKeyCommands.java | 2 ++ .../redis/clients/jedis/ShardedJedis.java | 12 ++++++++++ 5 files changed, 42 insertions(+), 1 deletion(-) diff --git a/src/main/java/redis/clients/jedis/Jedis.java b/src/main/java/redis/clients/jedis/Jedis.java index 188140f..8782fc9 100644 --- a/src/main/java/redis/clients/jedis/Jedis.java +++ b/src/main/java/redis/clients/jedis/Jedis.java @@ -3413,7 +3413,7 @@ public class Jedis extends BinaryJedis implements JedisCommands, .build(client.getBinaryMultiBulkReply()); } - public Long pfadd(final String key, String... elements) { + public Long pfadd(final String key, final String... elements) { checkIsInMulti(); client.pfadd(key, elements); return client.getIntegerReply(); diff --git a/src/main/java/redis/clients/jedis/JedisCluster.java b/src/main/java/redis/clients/jedis/JedisCluster.java index 121bde8..a359226 100644 --- a/src/main/java/redis/clients/jedis/JedisCluster.java +++ b/src/main/java/redis/clients/jedis/JedisCluster.java @@ -1481,4 +1481,27 @@ public class JedisCluster implements JedisCommands, BasicCommands { } }.run(null); } + + @Override + public Long pfadd(final String key, final String... elements) { + return new JedisClusterCommand(connectionHandler, + timeout, maxRedirections) { + @Override + public Long execute(Jedis connection) { + return connection.pfadd(key, elements); + } + }.run(key); + } + + @Override + public long pfcount(final String key) { + return new JedisClusterCommand(connectionHandler, + timeout, maxRedirections) { + @Override + public Long execute(Jedis connection) { + return connection.pfcount(key); + } + }.run(key); + } + } diff --git a/src/main/java/redis/clients/jedis/JedisCommands.java b/src/main/java/redis/clients/jedis/JedisCommands.java index 5952bdb..5ce0121 100644 --- a/src/main/java/redis/clients/jedis/JedisCommands.java +++ b/src/main/java/redis/clients/jedis/JedisCommands.java @@ -240,4 +240,8 @@ public interface JedisCommands { ScanResult sscan(final String key, final String cursor); ScanResult zscan(final String key, final String cursor); + + Long pfadd(final String key, final String... elements); + + long pfcount(final String key); } diff --git a/src/main/java/redis/clients/jedis/MultiKeyCommands.java b/src/main/java/redis/clients/jedis/MultiKeyCommands.java index f03f82c..b829fca 100644 --- a/src/main/java/redis/clients/jedis/MultiKeyCommands.java +++ b/src/main/java/redis/clients/jedis/MultiKeyCommands.java @@ -79,4 +79,6 @@ public interface MultiKeyCommands { ScanResult scan(int cursor); ScanResult scan(final String cursor); + + String pfmerge(final String destkey, final String... sourcekeys); } diff --git a/src/main/java/redis/clients/jedis/ShardedJedis.java b/src/main/java/redis/clients/jedis/ShardedJedis.java index 7235cfe..46110ad 100644 --- a/src/main/java/redis/clients/jedis/ShardedJedis.java +++ b/src/main/java/redis/clients/jedis/ShardedJedis.java @@ -570,4 +570,16 @@ public class ShardedJedis extends BinaryShardedJedis implements JedisCommands { Jedis j = getShard(key); return j.zscan(key, cursor); } + + @Override + public Long pfadd(String key, String... elements) { + Jedis j = getShard(key); + return j.pfadd(key, elements); + } + + @Override + public long pfcount(String key) { + Jedis j = getShard(key); + return j.pfcount(key); + } }