diff --git a/src/main/java/redis/clients/jedis/Client.java b/src/main/java/redis/clients/jedis/Client.java index 0779265..fbcc32e 100644 --- a/src/main/java/redis/clients/jedis/Client.java +++ b/src/main/java/redis/clients/jedis/Client.java @@ -435,4 +435,8 @@ public class Client extends Connection { public void punsubscribe(String... patterns) { sendCommand("PUNSUBSCRIBE", patterns); } + + public void zcount(String key, double min, double max) { + sendCommand("ZCOUNT", key, String.valueOf(min), String.valueOf(max)); + } } diff --git a/src/main/java/redis/clients/jedis/Jedis.java b/src/main/java/redis/clients/jedis/Jedis.java index 3186d0c..b0452ad 100644 --- a/src/main/java/redis/clients/jedis/Jedis.java +++ b/src/main/java/redis/clients/jedis/Jedis.java @@ -545,4 +545,9 @@ public class Jedis { public void psubscribe(JedisPubSub jedisPubSub, String... patterns) { jedisPubSub.proceedWithPatterns(client, patterns); } + + public int zcount(String key, double min, double max) { + client.zcount(key, min, max); + return client.getIntegerReply(); + } } \ No newline at end of file diff --git a/src/test/java/redis/clients/jedis/tests/commands/SortedSetCommandsTest.java b/src/test/java/redis/clients/jedis/tests/commands/SortedSetCommandsTest.java index e3eec63..e77d5c1 100644 --- a/src/test/java/redis/clients/jedis/tests/commands/SortedSetCommandsTest.java +++ b/src/test/java/redis/clients/jedis/tests/commands/SortedSetCommandsTest.java @@ -180,4 +180,16 @@ public class SortedSetCommandsTest extends JedisCommandTestBase { score = jedis.zscore("foo", "c"); assertEquals(0.1d, score); } + + @Test + public void zcount() { + jedis.zadd("foo", 1d, "a"); + jedis.zadd("foo", 10d, "b"); + jedis.zadd("foo", 0.1d, "c"); + jedis.zadd("foo", 2d, "a"); + + int result = jedis.zcount("foo", 0.01d, 2.1d); + + assertEquals(2, result); + } } \ No newline at end of file