From f0bd4b16f6795f432449fdc1174d9ddc7531c472 Mon Sep 17 00:00:00 2001 From: dengliming Date: Fri, 19 Mar 2021 00:18:53 +0800 Subject: [PATCH 1/3] Add support for ZDIFFSTORE command --- .../redis/clients/jedis/BinaryClient.java | 4 ++++ .../java/redis/clients/jedis/BinaryJedis.java | 7 ++++++ .../clients/jedis/BinaryJedisCluster.java | 11 +++++++++ src/main/java/redis/clients/jedis/Client.java | 5 ++++ src/main/java/redis/clients/jedis/Jedis.java | 7 ++++++ .../redis/clients/jedis/JedisCluster.java | 11 +++++++++ .../clients/jedis/MultiKeyPipelineBase.java | 12 ++++++++++ .../java/redis/clients/jedis/Protocol.java | 2 +- .../clients/jedis/commands/Commands.java | 2 ++ .../commands/MultiKeyBinaryCommands.java | 2 ++ .../MultiKeyBinaryJedisClusterCommands.java | 2 ++ .../commands/MultiKeyBinaryRedisPipeline.java | 2 ++ .../jedis/commands/MultiKeyCommands.java | 2 ++ .../commands/MultiKeyCommandsPipeline.java | 2 ++ .../MultiKeyJedisClusterCommands.java | 4 +++- .../tests/commands/SortedSetCommandsTest.java | 23 +++++++++++++++++++ 16 files changed, 96 insertions(+), 2 deletions(-) diff --git a/src/main/java/redis/clients/jedis/BinaryClient.java b/src/main/java/redis/clients/jedis/BinaryClient.java index 4a1d031201..b8ea6db88e 100644 --- a/src/main/java/redis/clients/jedis/BinaryClient.java +++ b/src/main/java/redis/clients/jedis/BinaryClient.java @@ -578,6 +578,10 @@ public void zaddIncr(final byte[] key, final double score, final byte[] member, sendCommand(ZADD, params.getByteParams(key, INCR.getRaw(), toByteArray(score), member)); } + public void zdiffstore(final byte[] dstkey, final byte[]... keys) { + sendCommand(ZDIFFSTORE, joinParameters(dstkey, toByteArray(keys.length), keys)); + } + public void zrange(final byte[] key, final long start, final long stop) { sendCommand(ZRANGE, key, toByteArray(start), toByteArray(stop)); } diff --git a/src/main/java/redis/clients/jedis/BinaryJedis.java b/src/main/java/redis/clients/jedis/BinaryJedis.java index 59ea980486..e5b499fadc 100644 --- a/src/main/java/redis/clients/jedis/BinaryJedis.java +++ b/src/main/java/redis/clients/jedis/BinaryJedis.java @@ -2623,6 +2623,13 @@ public Long zcount(final byte[] key, final byte[] min, final byte[] max) { return client.getIntegerReply(); } + @Override + public Long zdiffstore(final byte[] dstkey, final byte[]... keys) { + checkIsInMultiOrPipeline(); + client.zdiffstore(dstkey, keys); + return client.getIntegerReply(); + } + /** * Return the all the elements in the sorted set at key with a score between min and max * (including elements with score equal to min or max). diff --git a/src/main/java/redis/clients/jedis/BinaryJedisCluster.java b/src/main/java/redis/clients/jedis/BinaryJedisCluster.java index 1a2f399662..6c7acae154 100644 --- a/src/main/java/redis/clients/jedis/BinaryJedisCluster.java +++ b/src/main/java/redis/clients/jedis/BinaryJedisCluster.java @@ -977,6 +977,17 @@ public Double execute(Jedis connection) { }.runBinary(key); } + @Override + public Long zdiffstore(final byte[] dstkey, final byte[]... keys) { + byte[][] wholeKeys = KeyMergeUtil.merge(dstkey, keys); + return new JedisClusterCommand(connectionHandler, maxAttempts) { + @Override + public Long execute(Jedis connection) { + return connection.zdiffstore(dstkey, keys); + } + }.runBinary(wholeKeys.length, wholeKeys); + } + @Override public Set zrange(final byte[] key, final long start, final long stop) { return new JedisClusterCommand>(connectionHandler, maxAttempts) { diff --git a/src/main/java/redis/clients/jedis/Client.java b/src/main/java/redis/clients/jedis/Client.java index 4ec2215a8e..ce1f072163 100644 --- a/src/main/java/redis/clients/jedis/Client.java +++ b/src/main/java/redis/clients/jedis/Client.java @@ -656,6 +656,11 @@ public void zcount(final String key, final String min, final String max) { zcount(SafeEncoder.encode(key), SafeEncoder.encode(min), SafeEncoder.encode(max)); } + @Override + public void zdiffstore(final String dstkey, final String... keys) { + zdiffstore(SafeEncoder.encode(dstkey), SafeEncoder.encodeMany(keys)); + } + @Override public void zrangeByScore(final String key, final double min, final double max) { zrangeByScore(SafeEncoder.encode(key), toByteArray(min), toByteArray(max)); diff --git a/src/main/java/redis/clients/jedis/Jedis.java b/src/main/java/redis/clients/jedis/Jedis.java index 1be6c8a45c..8c48df236a 100644 --- a/src/main/java/redis/clients/jedis/Jedis.java +++ b/src/main/java/redis/clients/jedis/Jedis.java @@ -1673,6 +1673,13 @@ public Double zaddIncr(final String key, final double score, final String member return BuilderFactory.DOUBLE.build(client.getOne()); } + @Override + public Long zdiffstore(final String dstkey, final String... keys) { + checkIsInMultiOrPipeline(); + client.zdiffstore(dstkey, keys); + return BuilderFactory.LONG.build(client.getOne()); + } + @Override public Set zrange(final String key, final long start, final long stop) { checkIsInMultiOrPipeline(); diff --git a/src/main/java/redis/clients/jedis/JedisCluster.java b/src/main/java/redis/clients/jedis/JedisCluster.java index fffa9dd289..df3c8b366f 100644 --- a/src/main/java/redis/clients/jedis/JedisCluster.java +++ b/src/main/java/redis/clients/jedis/JedisCluster.java @@ -1079,6 +1079,17 @@ public Double execute(Jedis connection) { }.run(key); } + @Override + public Long zdiffstore(final String dstkey, final String... keys) { + String[] wholeKeys = KeyMergeUtil.merge(dstkey, keys); + return new JedisClusterCommand(connectionHandler, maxAttempts) { + @Override + public Long execute(Jedis connection) { + return connection.zdiffstore(dstkey, keys); + } + }.run(wholeKeys.length, wholeKeys); + } + @Override public Set zrange(final String key, final long start, final long stop) { return new JedisClusterCommand>(connectionHandler, maxAttempts) { diff --git a/src/main/java/redis/clients/jedis/MultiKeyPipelineBase.java b/src/main/java/redis/clients/jedis/MultiKeyPipelineBase.java index 1b5bf57368..21d09a2a09 100644 --- a/src/main/java/redis/clients/jedis/MultiKeyPipelineBase.java +++ b/src/main/java/redis/clients/jedis/MultiKeyPipelineBase.java @@ -337,6 +337,18 @@ public Response unwatch() { return getResponse(BuilderFactory.STRING); } + @Override + public Response zdiffstore(final byte[] dstkey, final byte[]... keys) { + client.zdiffstore(dstkey, keys); + return getResponse(BuilderFactory.LONG); + } + + @Override + public Response zdiffstore(final String dstkey, final String... keys) { + client.zdiffstore(dstkey, keys); + return getResponse(BuilderFactory.LONG); + } + @Override public Response zinterstore(String dstkey, String... sets) { client.zinterstore(dstkey, sets); diff --git a/src/main/java/redis/clients/jedis/Protocol.java b/src/main/java/redis/clients/jedis/Protocol.java index 6c5c071b7b..303c06d938 100644 --- a/src/main/java/redis/clients/jedis/Protocol.java +++ b/src/main/java/redis/clients/jedis/Protocol.java @@ -249,7 +249,7 @@ public static enum Command implements ProtocolCommand { SETEX, MSET, MSETNX, DECRBY, DECR, INCRBY, INCR, APPEND, SUBSTR, HSET, HGET, HSETNX, HMSET, HMGET, HINCRBY, HEXISTS, HDEL, HLEN, HKEYS, HVALS, HGETALL, HRANDFIELD, RPUSH, LPUSH, LLEN, LRANGE, LTRIM, LINDEX, LSET, LREM, LPOP, RPOP, RPOPLPUSH, SADD, SMEMBERS, SREM, SPOP, SMOVE, SCARD, SISMEMBER, - SINTER, SINTERSTORE, SUNION, SUNIONSTORE, SDIFF, SDIFFSTORE, SRANDMEMBER, ZADD, ZRANGE, ZREM, + SINTER, SINTERSTORE, SUNION, SUNIONSTORE, SDIFF, SDIFFSTORE, SRANDMEMBER, ZADD, ZDIFFSTORE, ZRANGE, ZREM, ZINCRBY, ZRANK, ZREVRANK, ZREVRANGE, ZRANDMEMBER, ZCARD, ZSCORE, ZPOPMAX, ZPOPMIN, MULTI, DISCARD, EXEC, WATCH, UNWATCH, SORT, BLPOP, BRPOP, AUTH, SUBSCRIBE, PUBLISH, UNSUBSCRIBE, PSUBSCRIBE, PUNSUBSCRIBE, PUBSUB, ZCOUNT, ZRANGEBYSCORE, ZREVRANGEBYSCORE, ZREMRANGEBYRANK, diff --git a/src/main/java/redis/clients/jedis/commands/Commands.java b/src/main/java/redis/clients/jedis/commands/Commands.java index b4268bb187..0cd1a5516e 100644 --- a/src/main/java/redis/clients/jedis/commands/Commands.java +++ b/src/main/java/redis/clients/jedis/commands/Commands.java @@ -221,6 +221,8 @@ default void setex(String key, int seconds, String value) { void zaddIncr(String key, double score, String member, ZAddParams params); + void zdiffstore(String dstkey, String... keys); + void zrange(String key, long start, long stop); void zrem(String key, String... members); diff --git a/src/main/java/redis/clients/jedis/commands/MultiKeyBinaryCommands.java b/src/main/java/redis/clients/jedis/commands/MultiKeyBinaryCommands.java index e0bb0e18a0..ec1014ffcc 100644 --- a/src/main/java/redis/clients/jedis/commands/MultiKeyBinaryCommands.java +++ b/src/main/java/redis/clients/jedis/commands/MultiKeyBinaryCommands.java @@ -71,6 +71,8 @@ public interface MultiKeyBinaryCommands { String unwatch(); + Long zdiffstore(byte[] dstkey, byte[]... keys); + Long zinterstore(byte[] dstkey, byte[]... sets); Long zinterstore(byte[] dstkey, ZParams params, byte[]... sets); diff --git a/src/main/java/redis/clients/jedis/commands/MultiKeyBinaryJedisClusterCommands.java b/src/main/java/redis/clients/jedis/commands/MultiKeyBinaryJedisClusterCommands.java index a01ea228ca..02915784fd 100644 --- a/src/main/java/redis/clients/jedis/commands/MultiKeyBinaryJedisClusterCommands.java +++ b/src/main/java/redis/clients/jedis/commands/MultiKeyBinaryJedisClusterCommands.java @@ -63,6 +63,8 @@ public interface MultiKeyBinaryJedisClusterCommands { Long sunionstore(byte[] dstkey, byte[]... keys); + Long zdiffstore(byte[] dstkey, byte[]... keys); + Long zinterstore(byte[] dstkey, byte[]... sets); Long zinterstore(byte[] dstkey, ZParams params, byte[]... sets); diff --git a/src/main/java/redis/clients/jedis/commands/MultiKeyBinaryRedisPipeline.java b/src/main/java/redis/clients/jedis/commands/MultiKeyBinaryRedisPipeline.java index afb71445b9..92f4463502 100644 --- a/src/main/java/redis/clients/jedis/commands/MultiKeyBinaryRedisPipeline.java +++ b/src/main/java/redis/clients/jedis/commands/MultiKeyBinaryRedisPipeline.java @@ -67,6 +67,8 @@ public interface MultiKeyBinaryRedisPipeline { Response unwatch(); + Response zdiffstore(byte[] dstkey, byte[]... keys); + Response zinterstore(byte[] dstkey, byte[]... sets); Response zinterstore(byte[] dstkey, ZParams params, byte[]... sets); diff --git a/src/main/java/redis/clients/jedis/commands/MultiKeyCommands.java b/src/main/java/redis/clients/jedis/commands/MultiKeyCommands.java index aabf2d3612..62223ec42d 100644 --- a/src/main/java/redis/clients/jedis/commands/MultiKeyCommands.java +++ b/src/main/java/redis/clients/jedis/commands/MultiKeyCommands.java @@ -103,6 +103,8 @@ public interface MultiKeyCommands { String unwatch(); + Long zdiffstore(String dstkey, String... keys); + Long zinterstore(String dstkey, String... sets); Long zinterstore(String dstkey, ZParams params, String... sets); diff --git a/src/main/java/redis/clients/jedis/commands/MultiKeyCommandsPipeline.java b/src/main/java/redis/clients/jedis/commands/MultiKeyCommandsPipeline.java index b12ca11ec4..91204aded6 100644 --- a/src/main/java/redis/clients/jedis/commands/MultiKeyCommandsPipeline.java +++ b/src/main/java/redis/clients/jedis/commands/MultiKeyCommandsPipeline.java @@ -68,6 +68,8 @@ public interface MultiKeyCommandsPipeline { Response unwatch(); + Response zdiffstore(String dstkey, String... keys); + Response zinterstore(String dstkey, String... sets); Response zinterstore(String dstkey, ZParams params, String... sets); diff --git a/src/main/java/redis/clients/jedis/commands/MultiKeyJedisClusterCommands.java b/src/main/java/redis/clients/jedis/commands/MultiKeyJedisClusterCommands.java index 7933a9ca50..aff8abb45d 100644 --- a/src/main/java/redis/clients/jedis/commands/MultiKeyJedisClusterCommands.java +++ b/src/main/java/redis/clients/jedis/commands/MultiKeyJedisClusterCommands.java @@ -65,6 +65,8 @@ public interface MultiKeyJedisClusterCommands { Long sunionstore(String dstkey, String... keys); + Long zdiffstore(String dstkey, String... keys); + Long zinterstore(String dstkey, String... sets); Long zinterstore(String dstkey, ZParams params, String... sets); @@ -115,7 +117,7 @@ List>> xread(int count, long block, List>> xread(XReadParams xReadParams, Map streams); - + /** * XREAD [COUNT count] [BLOCK milliseconds] STREAMS key [key ...] ID [ID ...] * 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 3519250a36..7a01bc0888 100644 --- a/src/test/java/redis/clients/jedis/tests/commands/SortedSetCommandsTest.java +++ b/src/test/java/redis/clients/jedis/tests/commands/SortedSetCommandsTest.java @@ -8,6 +8,7 @@ import static redis.clients.jedis.tests.utils.AssertUtil.assertCollectionContains; import java.util.Arrays; +import java.util.Collections; import java.util.HashMap; import java.util.Iterator; import java.util.LinkedHashSet; @@ -1445,6 +1446,28 @@ public void bzpopmin() { assertEquals(new KeyedTuple(bbar, bc, 0.1d), actual); } + @Test + public void zdiffstore() { + jedis.zadd("foo", 1.0, "a"); + jedis.zadd("foo", 2.0, "b"); + jedis.zadd("bar", 1.0, "a"); + + assertEquals(0, jedis.zdiffstore("bar3", "bar1", "bar2").longValue()); + assertEquals(1, jedis.zdiffstore("bar3", "foo", "bar").longValue()); + assertEquals(Collections.singleton("b"), jedis.zrange("bar3", 0, -1)); + + // binary + + jedis.zadd(bfoo, 1.0, ba); + jedis.zadd(bfoo, 2.0, bb); + jedis.zadd(bbar, 1.0, ba); + + assertEquals(0, jedis.zdiffstore(bbar3, bbar1, bbar2).longValue()); + assertEquals(1, jedis.zdiffstore(bbar3, bfoo, bbar).longValue()); + Set bactual = jedis.zrange(bbar3, 0, -1); + assertArrayEquals(bb, bactual.iterator().next()); + } + @Test public void zrandmember() { assertNull(jedis.zrandmember("foo")); From bd6c619b4e9c72466863c1a1a9015ccc82b5654b Mon Sep 17 00:00:00 2001 From: dengliming Date: Fri, 19 Mar 2021 16:54:21 +0800 Subject: [PATCH 2/3] Rename zdiffstore to zdiffStore --- src/main/java/redis/clients/jedis/BinaryClient.java | 4 ++-- src/main/java/redis/clients/jedis/BinaryJedis.java | 4 ++-- .../java/redis/clients/jedis/BinaryJedisCluster.java | 4 ++-- src/main/java/redis/clients/jedis/Client.java | 4 ++-- src/main/java/redis/clients/jedis/Jedis.java | 4 ++-- src/main/java/redis/clients/jedis/JedisCluster.java | 4 ++-- .../java/redis/clients/jedis/MultiKeyPipelineBase.java | 8 ++++---- src/main/java/redis/clients/jedis/Protocol.java | 2 +- .../java/redis/clients/jedis/commands/Commands.java | 2 +- .../clients/jedis/commands/MultiKeyBinaryCommands.java | 2 +- .../commands/MultiKeyBinaryJedisClusterCommands.java | 2 +- .../jedis/commands/MultiKeyBinaryRedisPipeline.java | 2 +- .../redis/clients/jedis/commands/MultiKeyCommands.java | 2 +- .../jedis/commands/MultiKeyCommandsPipeline.java | 2 +- .../jedis/commands/MultiKeyJedisClusterCommands.java | 2 +- .../jedis/tests/commands/SortedSetCommandsTest.java | 10 +++++----- 16 files changed, 29 insertions(+), 29 deletions(-) diff --git a/src/main/java/redis/clients/jedis/BinaryClient.java b/src/main/java/redis/clients/jedis/BinaryClient.java index 2c4c34c90f..92b64f536f 100644 --- a/src/main/java/redis/clients/jedis/BinaryClient.java +++ b/src/main/java/redis/clients/jedis/BinaryClient.java @@ -599,8 +599,8 @@ public void zaddIncr(final byte[] key, final double score, final byte[] member, sendCommand(ZADD, params.getByteParams(key, INCR.getRaw(), toByteArray(score), member)); } - public void zdiffstore(final byte[] dstkey, final byte[]... keys) { - sendCommand(ZDIFFSTORE, joinParameters(dstkey, toByteArray(keys.length), keys)); + public void zdiffStore(final byte[] dstkey, final byte[]... keys) { + sendCommand(zdiffStore, joinParameters(dstkey, toByteArray(keys.length), keys)); } public void zrange(final byte[] key, final long start, final long stop) { diff --git a/src/main/java/redis/clients/jedis/BinaryJedis.java b/src/main/java/redis/clients/jedis/BinaryJedis.java index 87c2fc9a2d..70121cde51 100644 --- a/src/main/java/redis/clients/jedis/BinaryJedis.java +++ b/src/main/java/redis/clients/jedis/BinaryJedis.java @@ -2656,9 +2656,9 @@ public Set zdiffWithScores(final byte[]... keys) { } @Override - public Long zdiffstore(final byte[] dstkey, final byte[]... keys) { + public Long zdiffStore(final byte[] dstkey, final byte[]... keys) { checkIsInMultiOrPipeline(); - client.zdiffstore(dstkey, keys); + client.zdiffStore(dstkey, keys); return client.getIntegerReply(); } diff --git a/src/main/java/redis/clients/jedis/BinaryJedisCluster.java b/src/main/java/redis/clients/jedis/BinaryJedisCluster.java index 2ec7778176..4529c8358c 100644 --- a/src/main/java/redis/clients/jedis/BinaryJedisCluster.java +++ b/src/main/java/redis/clients/jedis/BinaryJedisCluster.java @@ -999,12 +999,12 @@ public Set execute(Jedis connection) { } @Override - public Long zdiffstore(final byte[] dstkey, final byte[]... keys) { + public Long zdiffStore(final byte[] dstkey, final byte[]... keys) { byte[][] wholeKeys = KeyMergeUtil.merge(dstkey, keys); return new JedisClusterCommand(connectionHandler, maxAttempts) { @Override public Long execute(Jedis connection) { - return connection.zdiffstore(dstkey, keys); + return connection.zdiffStore(dstkey, keys); } }.runBinary(wholeKeys.length, wholeKeys); } diff --git a/src/main/java/redis/clients/jedis/Client.java b/src/main/java/redis/clients/jedis/Client.java index d23ae81784..ffc6c86146 100644 --- a/src/main/java/redis/clients/jedis/Client.java +++ b/src/main/java/redis/clients/jedis/Client.java @@ -667,8 +667,8 @@ public void zcount(final String key, final String min, final String max) { } @Override - public void zdiffstore(final String dstkey, final String... keys) { - zdiffstore(SafeEncoder.encode(dstkey), SafeEncoder.encodeMany(keys)); + public void zdiffStore(final String dstkey, final String... keys) { + zdiffStore(SafeEncoder.encode(dstkey), SafeEncoder.encodeMany(keys)); } @Override diff --git a/src/main/java/redis/clients/jedis/Jedis.java b/src/main/java/redis/clients/jedis/Jedis.java index a57ce9a8c9..23ecbbacd8 100644 --- a/src/main/java/redis/clients/jedis/Jedis.java +++ b/src/main/java/redis/clients/jedis/Jedis.java @@ -1688,9 +1688,9 @@ public Set zdiffWithScores(String... keys) { } @Override - public Long zdiffstore(final String dstkey, final String... keys) { + public Long zdiffStore(final String dstkey, final String... keys) { checkIsInMultiOrPipeline(); - client.zdiffstore(dstkey, keys); + client.zdiffStore(dstkey, keys); return BuilderFactory.LONG.build(client.getOne()); } diff --git a/src/main/java/redis/clients/jedis/JedisCluster.java b/src/main/java/redis/clients/jedis/JedisCluster.java index 4f1a49118d..ab5137f80d 100644 --- a/src/main/java/redis/clients/jedis/JedisCluster.java +++ b/src/main/java/redis/clients/jedis/JedisCluster.java @@ -1100,12 +1100,12 @@ public Set execute(Jedis connection) { } @Override - public Long zdiffstore(final String dstkey, final String... keys) { + public Long zdiffStore(final String dstkey, final String... keys) { String[] wholeKeys = KeyMergeUtil.merge(dstkey, keys); return new JedisClusterCommand(connectionHandler, maxAttempts) { @Override public Long execute(Jedis connection) { - return connection.zdiffstore(dstkey, keys); + return connection.zdiffStore(dstkey, keys); } }.run(wholeKeys.length, wholeKeys); } diff --git a/src/main/java/redis/clients/jedis/MultiKeyPipelineBase.java b/src/main/java/redis/clients/jedis/MultiKeyPipelineBase.java index 55523e2ed6..0e6e87e761 100644 --- a/src/main/java/redis/clients/jedis/MultiKeyPipelineBase.java +++ b/src/main/java/redis/clients/jedis/MultiKeyPipelineBase.java @@ -363,14 +363,14 @@ public Response> zdiffWithScores(String... keys) { } @Override - public Response zdiffstore(final byte[] dstkey, final byte[]... keys) { - client.zdiffstore(dstkey, keys); + public Response zdiffStore(final byte[] dstkey, final byte[]... keys) { + client.zdiffStore(dstkey, keys); return getResponse(BuilderFactory.LONG); } @Override - public Response zdiffstore(final String dstkey, final String... keys) { - client.zdiffstore(dstkey, keys); + public Response zdiffStore(final String dstkey, final String... keys) { + client.zdiffStore(dstkey, keys); return getResponse(BuilderFactory.LONG); } diff --git a/src/main/java/redis/clients/jedis/Protocol.java b/src/main/java/redis/clients/jedis/Protocol.java index 6c332d167e..d04ed2f5be 100644 --- a/src/main/java/redis/clients/jedis/Protocol.java +++ b/src/main/java/redis/clients/jedis/Protocol.java @@ -249,7 +249,7 @@ public static enum Command implements ProtocolCommand { SETEX, MSET, MSETNX, DECRBY, DECR, INCRBY, INCR, APPEND, SUBSTR, HSET, HGET, HSETNX, HMSET, HMGET, HINCRBY, HEXISTS, HDEL, HLEN, HKEYS, HVALS, HGETALL, HRANDFIELD, RPUSH, LPUSH, LLEN, LRANGE, LTRIM, LINDEX, LSET, LREM, LPOP, RPOP, RPOPLPUSH, SADD, SMEMBERS, SREM, SPOP, SMOVE, SCARD, SISMEMBER, - SINTER, SINTERSTORE, SUNION, SUNIONSTORE, SDIFF, SDIFFSTORE, SRANDMEMBER, ZADD, ZDIFF, ZDIFFSTORE, ZRANGE, ZREM, + SINTER, SINTERSTORE, SUNION, SUNIONSTORE, SDIFF, SDIFFSTORE, SRANDMEMBER, ZADD, ZDIFF, zdiffStore, ZRANGE, ZREM, ZINCRBY, ZRANK, ZREVRANK, ZREVRANGE, ZRANDMEMBER, ZCARD, ZSCORE, ZPOPMAX, ZPOPMIN, MULTI, DISCARD, EXEC, WATCH, UNWATCH, SORT, BLPOP, BRPOP, AUTH, SUBSCRIBE, PUBLISH, UNSUBSCRIBE, PSUBSCRIBE, PUNSUBSCRIBE, PUBSUB, ZCOUNT, ZRANGEBYSCORE, ZREVRANGEBYSCORE, ZREMRANGEBYRANK, diff --git a/src/main/java/redis/clients/jedis/commands/Commands.java b/src/main/java/redis/clients/jedis/commands/Commands.java index 8251ed1f23..e598ad9b81 100644 --- a/src/main/java/redis/clients/jedis/commands/Commands.java +++ b/src/main/java/redis/clients/jedis/commands/Commands.java @@ -225,7 +225,7 @@ default void setex(String key, int seconds, String value) { void zaddIncr(String key, double score, String member, ZAddParams params); - void zdiffstore(String dstkey, String... keys); + void zdiffStore(String dstkey, String... keys); void zrange(String key, long start, long stop); diff --git a/src/main/java/redis/clients/jedis/commands/MultiKeyBinaryCommands.java b/src/main/java/redis/clients/jedis/commands/MultiKeyBinaryCommands.java index 79985de216..f69f48c49e 100644 --- a/src/main/java/redis/clients/jedis/commands/MultiKeyBinaryCommands.java +++ b/src/main/java/redis/clients/jedis/commands/MultiKeyBinaryCommands.java @@ -76,7 +76,7 @@ public interface MultiKeyBinaryCommands { Set zdiffWithScores(byte[]... keys); - Long zdiffstore(byte[] dstkey, byte[]... keys); + Long zdiffStore(byte[] dstkey, byte[]... keys); Long zinterstore(byte[] dstkey, byte[]... sets); diff --git a/src/main/java/redis/clients/jedis/commands/MultiKeyBinaryJedisClusterCommands.java b/src/main/java/redis/clients/jedis/commands/MultiKeyBinaryJedisClusterCommands.java index 5246d9d1bc..a45a3932d0 100644 --- a/src/main/java/redis/clients/jedis/commands/MultiKeyBinaryJedisClusterCommands.java +++ b/src/main/java/redis/clients/jedis/commands/MultiKeyBinaryJedisClusterCommands.java @@ -68,7 +68,7 @@ public interface MultiKeyBinaryJedisClusterCommands { Set zdiffWithScores(byte[]... keys); - Long zdiffstore(byte[] dstkey, byte[]... keys); + Long zdiffStore(byte[] dstkey, byte[]... keys); Long zinterstore(byte[] dstkey, byte[]... sets); diff --git a/src/main/java/redis/clients/jedis/commands/MultiKeyBinaryRedisPipeline.java b/src/main/java/redis/clients/jedis/commands/MultiKeyBinaryRedisPipeline.java index 74fe1abc4d..47d520a70d 100644 --- a/src/main/java/redis/clients/jedis/commands/MultiKeyBinaryRedisPipeline.java +++ b/src/main/java/redis/clients/jedis/commands/MultiKeyBinaryRedisPipeline.java @@ -72,7 +72,7 @@ public interface MultiKeyBinaryRedisPipeline { Response> zdiffWithScores(byte[]... keys); - Response zdiffstore(byte[] dstkey, byte[]... keys); + Response zdiffStore(byte[] dstkey, byte[]... keys); Response zinterstore(byte[] dstkey, byte[]... sets); diff --git a/src/main/java/redis/clients/jedis/commands/MultiKeyCommands.java b/src/main/java/redis/clients/jedis/commands/MultiKeyCommands.java index c6076ab3bc..4a20e733b7 100644 --- a/src/main/java/redis/clients/jedis/commands/MultiKeyCommands.java +++ b/src/main/java/redis/clients/jedis/commands/MultiKeyCommands.java @@ -108,7 +108,7 @@ public interface MultiKeyCommands { Set zdiffWithScores(String... keys); - Long zdiffstore(String dstkey, String... keys); + Long zdiffStore(String dstkey, String... keys); Long zinterstore(String dstkey, String... sets); diff --git a/src/main/java/redis/clients/jedis/commands/MultiKeyCommandsPipeline.java b/src/main/java/redis/clients/jedis/commands/MultiKeyCommandsPipeline.java index 2a3d4cc182..d59f2b7a22 100644 --- a/src/main/java/redis/clients/jedis/commands/MultiKeyCommandsPipeline.java +++ b/src/main/java/redis/clients/jedis/commands/MultiKeyCommandsPipeline.java @@ -73,7 +73,7 @@ public interface MultiKeyCommandsPipeline { Response> zdiffWithScores(String... keys); - Response zdiffstore(String dstkey, String... keys); + Response zdiffStore(String dstkey, String... keys); Response zinterstore(String dstkey, String... sets); diff --git a/src/main/java/redis/clients/jedis/commands/MultiKeyJedisClusterCommands.java b/src/main/java/redis/clients/jedis/commands/MultiKeyJedisClusterCommands.java index d53825b568..426bba5239 100644 --- a/src/main/java/redis/clients/jedis/commands/MultiKeyJedisClusterCommands.java +++ b/src/main/java/redis/clients/jedis/commands/MultiKeyJedisClusterCommands.java @@ -70,7 +70,7 @@ public interface MultiKeyJedisClusterCommands { Set zdiffWithScores(String... keys); - Long zdiffstore(String dstkey, String... keys); + Long zdiffStore(String dstkey, String... keys); Long zinterstore(String dstkey, String... sets); 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 f119baa4af..2622cbf77b 100644 --- a/src/test/java/redis/clients/jedis/tests/commands/SortedSetCommandsTest.java +++ b/src/test/java/redis/clients/jedis/tests/commands/SortedSetCommandsTest.java @@ -1470,13 +1470,13 @@ public void zdiff() { } @Test - public void zdiffstore() { + public void zdiffStore() { jedis.zadd("foo", 1.0, "a"); jedis.zadd("foo", 2.0, "b"); jedis.zadd("bar", 1.0, "a"); - assertEquals(0, jedis.zdiffstore("bar3", "bar1", "bar2").longValue()); - assertEquals(1, jedis.zdiffstore("bar3", "foo", "bar").longValue()); + assertEquals(0, jedis.zdiffStore("bar3", "bar1", "bar2").longValue()); + assertEquals(1, jedis.zdiffStore("bar3", "foo", "bar").longValue()); assertEquals(Collections.singleton("b"), jedis.zrange("bar3", 0, -1)); // binary @@ -1485,8 +1485,8 @@ public void zdiffstore() { jedis.zadd(bfoo, 2.0, bb); jedis.zadd(bbar, 1.0, ba); - assertEquals(0, jedis.zdiffstore(bbar3, bbar1, bbar2).longValue()); - assertEquals(1, jedis.zdiffstore(bbar3, bfoo, bbar).longValue()); + assertEquals(0, jedis.zdiffStore(bbar3, bbar1, bbar2).longValue()); + assertEquals(1, jedis.zdiffStore(bbar3, bfoo, bbar).longValue()); Set bactual = jedis.zrange(bbar3, 0, -1); assertArrayEquals(bb, bactual.iterator().next()); } From 7c4a0e700a3fbda805f416f8c2fc87158cbae68d Mon Sep 17 00:00:00 2001 From: dengliming Date: Fri, 19 Mar 2021 18:25:17 +0800 Subject: [PATCH 3/3] fix --- src/main/java/redis/clients/jedis/BinaryClient.java | 2 +- src/main/java/redis/clients/jedis/Protocol.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/redis/clients/jedis/BinaryClient.java b/src/main/java/redis/clients/jedis/BinaryClient.java index 92b64f536f..a2bee50c70 100644 --- a/src/main/java/redis/clients/jedis/BinaryClient.java +++ b/src/main/java/redis/clients/jedis/BinaryClient.java @@ -600,7 +600,7 @@ public void zaddIncr(final byte[] key, final double score, final byte[] member, } public void zdiffStore(final byte[] dstkey, final byte[]... keys) { - sendCommand(zdiffStore, joinParameters(dstkey, toByteArray(keys.length), keys)); + sendCommand(ZDIFFSTORE, joinParameters(dstkey, toByteArray(keys.length), keys)); } public void zrange(final byte[] key, final long start, final long stop) { diff --git a/src/main/java/redis/clients/jedis/Protocol.java b/src/main/java/redis/clients/jedis/Protocol.java index d04ed2f5be..6c332d167e 100644 --- a/src/main/java/redis/clients/jedis/Protocol.java +++ b/src/main/java/redis/clients/jedis/Protocol.java @@ -249,7 +249,7 @@ public static enum Command implements ProtocolCommand { SETEX, MSET, MSETNX, DECRBY, DECR, INCRBY, INCR, APPEND, SUBSTR, HSET, HGET, HSETNX, HMSET, HMGET, HINCRBY, HEXISTS, HDEL, HLEN, HKEYS, HVALS, HGETALL, HRANDFIELD, RPUSH, LPUSH, LLEN, LRANGE, LTRIM, LINDEX, LSET, LREM, LPOP, RPOP, RPOPLPUSH, SADD, SMEMBERS, SREM, SPOP, SMOVE, SCARD, SISMEMBER, - SINTER, SINTERSTORE, SUNION, SUNIONSTORE, SDIFF, SDIFFSTORE, SRANDMEMBER, ZADD, ZDIFF, zdiffStore, ZRANGE, ZREM, + SINTER, SINTERSTORE, SUNION, SUNIONSTORE, SDIFF, SDIFFSTORE, SRANDMEMBER, ZADD, ZDIFF, ZDIFFSTORE, ZRANGE, ZREM, ZINCRBY, ZRANK, ZREVRANK, ZREVRANGE, ZRANDMEMBER, ZCARD, ZSCORE, ZPOPMAX, ZPOPMIN, MULTI, DISCARD, EXEC, WATCH, UNWATCH, SORT, BLPOP, BRPOP, AUTH, SUBSCRIBE, PUBLISH, UNSUBSCRIBE, PSUBSCRIBE, PUNSUBSCRIBE, PUBSUB, ZCOUNT, ZRANGEBYSCORE, ZREVRANGEBYSCORE, ZREMRANGEBYRANK,