diff --git a/pom.xml b/pom.xml
index 9ae293e949..5ae78cd78b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -62,6 +62,10 @@
5.13.4
+
+
+
+
integration,scenario
false
@@ -349,7 +353,7 @@
${maven.surefire.version}
${skipUnitTests}
- @{argLine} ${JVM_OPTS}
+ ${argLine} ${JVM_OPTS}
${redis-hosts}
@@ -368,7 +372,7 @@
maven-failsafe-plugin
${maven.surefire.version}
- @{failsafeSuffixArgLine} ${JVM_OPTS}
+ ${failsafeSuffixArgLine} ${JVM_OPTS}
${redis-hosts}
@@ -394,7 +398,7 @@
${skipIntegrationTests}
- @{failsafeTaggedArgLine} ${JVM_OPTS}
+ ${failsafeTaggedArgLine} ${JVM_OPTS}
integration
scenario,unit
@@ -411,7 +415,7 @@
${skipIntegrationTests}
- @{failsafeSuffixArgLine} ${JVM_OPTS}
+ ${failsafeSuffixArgLine} ${JVM_OPTS}
scenario,unit
**/*IT.java
@@ -429,7 +433,7 @@
${skipScenarioTests}
- @{failsafeScenarioArgLine} ${JVM_OPTS}
+ ${failsafeScenarioArgLine} ${JVM_OPTS}
scenario
integration,unit
@@ -638,7 +642,7 @@
maven-surefire-plugin
${maven.surefire.version}
- @{argLine} ${JVM_OPTS}
+ ${argLine} ${JVM_OPTS}
diff --git a/src/main/java/redis/clients/jedis/CommandObjects.java b/src/main/java/redis/clients/jedis/CommandObjects.java
index 1d0173ffff..f6c81beae6 100644
--- a/src/main/java/redis/clients/jedis/CommandObjects.java
+++ b/src/main/java/redis/clients/jedis/CommandObjects.java
@@ -32,6 +32,7 @@
import redis.clients.jedis.timeseries.*;
import redis.clients.jedis.timeseries.TimeSeriesProtocol.*;
import redis.clients.jedis.util.KeyValue;
+import redis.clients.jedis.conditions.ValueCondition;
public class CommandObjects {
@@ -49,7 +50,7 @@ protected RedisProtocol getProtocol() {
protected volatile CommandKeyArgumentPreProcessor keyPreProcessor = null;
private JedisBroadcastAndRoundRobinConfig broadcastAndRoundRobinConfig = null;
- private Lock mapperLock = new ReentrantLock(true);
+ private Lock mapperLock = new ReentrantLock(true);
private volatile JsonObjectMapper jsonObjectMapper;
private final AtomicInteger searchDialect = new AtomicInteger(SearchProtocol.DEFAULT_DIALECT);
@@ -346,6 +347,18 @@ public final CommandObject del(byte[]... keys) {
return new CommandObject<>(commandArguments(DEL).keys((Object[]) keys), BuilderFactory.LONG);
}
+ public final CommandObject delex(String key, ValueCondition cond) {
+ CommandArguments ca = commandArguments(Command.DELEX).key(key);
+ cond.addTo(ca);
+ return new CommandObject<>(ca, BuilderFactory.LONG);
+ }
+
+ public final CommandObject delex(byte[] key, ValueCondition cond) {
+ CommandArguments ca = commandArguments(Command.DELEX).key(key);
+ cond.addTo(ca);
+ return new CommandObject<>(ca, BuilderFactory.LONG);
+ }
+
public final CommandObject unlink(String key) {
return new CommandObject<>(commandArguments(UNLINK).key(key), BuilderFactory.LONG);
}
@@ -454,14 +467,74 @@ public final CommandObject set(byte[] key, byte[] value) {
return new CommandObject<>(commandArguments(Command.SET).key(key).add(value), BuilderFactory.STRING);
}
+ public final CommandObject set(String key, String value, ValueCondition cond) {
+ CommandArguments ca = commandArguments(Command.SET).key(key).add(value);
+ cond.addTo(ca);
+ return new CommandObject<>(ca, BuilderFactory.STRING);
+ }
+
+ public final CommandObject setGet(String key, String value, ValueCondition cond) {
+ CommandArguments ca = commandArguments(Command.SET).key(key).add(value);
+ cond.addTo(ca);
+ ca.add(Keyword.GET);
+ return new CommandObject<>(ca, BuilderFactory.STRING);
+ }
+
+ public final CommandObject set(byte[] key, byte[] value, ValueCondition cond) {
+ CommandArguments ca = commandArguments(Command.SET).key(key).add(value);
+ cond.addTo(ca);
+ return new CommandObject<>(ca, BuilderFactory.STRING);
+ }
+
+ public final CommandObject setGet(byte[] key, byte[] value, ValueCondition cond) {
+ CommandArguments ca = commandArguments(Command.SET).key(key).add(value);
+ cond.addTo(ca);
+ ca.add(Keyword.GET);
+ return new CommandObject<>(ca, BuilderFactory.BINARY);
+ }
+
public final CommandObject set(byte[] key, byte[] value, SetParams params) {
return new CommandObject<>(commandArguments(Command.SET).key(key).add(value).addParams(params), BuilderFactory.STRING);
}
+ public final CommandObject set(String key, String value, SetParams params, ValueCondition cond) {
+ CommandArguments ca = commandArguments(Command.SET).key(key).add(value);
+ cond.addTo(ca);
+ ca.addParams(params);
+ return new CommandObject<>(ca, BuilderFactory.STRING);
+ }
+
+ public final CommandObject setGet(String key, String value, SetParams params, ValueCondition cond) {
+ CommandArguments ca = commandArguments(Command.SET).key(key).add(value);
+ cond.addTo(ca);
+ ca.addParams(params);
+ ca.add(Keyword.GET);
+ return new CommandObject<>(ca, BuilderFactory.STRING);
+ }
+
+ public final CommandObject set(byte[] key, byte[] value, SetParams params, ValueCondition cond) {
+ CommandArguments ca = commandArguments(Command.SET).key(key).add(value);
+ cond.addTo(ca);
+ ca.addParams(params);
+ return new CommandObject<>(ca, BuilderFactory.STRING);
+ }
+
+ public final CommandObject setGet(byte[] key, byte[] value, SetParams params, ValueCondition cond) {
+ CommandArguments ca = commandArguments(Command.SET).key(key).add(value);
+ cond.addTo(ca);
+ ca.addParams(params);
+ ca.add(Keyword.GET);
+ return new CommandObject<>(ca, BuilderFactory.BINARY);
+ }
+
public final CommandObject get(String key) {
return new CommandObject<>(commandArguments(Command.GET).key(key), BuilderFactory.STRING);
}
+ public final CommandObject digestKey(String key) {
+ return new CommandObject<>(commandArguments(Command.DIGEST).key(key), BuilderFactory.STRING);
+ }
+
public final CommandObject setGet(String key, String value) {
return new CommandObject<>(commandArguments(Command.SET).key(key).add(value).add(Keyword.GET), BuilderFactory.STRING);
}
@@ -479,6 +552,10 @@ public final CommandObject getEx(String key, GetExParams params) {
return new CommandObject<>(commandArguments(Command.GETEX).key(key).addParams(params), BuilderFactory.STRING);
}
+ public final CommandObject digestKey(byte[] key) {
+ return new CommandObject<>(commandArguments(Command.DIGEST).key(key), BuilderFactory.BINARY);
+ }
+
public final CommandObject get(byte[] key) {
return new CommandObject<>(commandArguments(Command.GET).key(key), BuilderFactory.BINARY);
}
@@ -2977,7 +3054,7 @@ public final CommandObject> xreadGroup(byte[] groupName, byte[] con
}
public final CommandObject>>> xreadGroupBinary(
- byte[] groupName, byte[] consumer, XReadGroupParams xReadGroupParams,
+ byte[] groupName, byte[] consumer, XReadGroupParams xReadGroupParams,
Map.Entry... streams) {
CommandArguments args = commandArguments(XREADGROUP)
.add(GROUP).add(groupName).add(consumer)
@@ -2992,7 +3069,7 @@ public final CommandObject>>> xre
}
public final CommandObject