poolConfig) {
+ this.poolConfig = poolConfig;
+ return self();
+ }
+
+ /**
+ * Sets the client-side cache for caching Redis responses.
+ *
+ * Client-side caching can improve performance by storing frequently accessed data locally,
+ * reducing the number of round trips to the Redis server.
+ * @param cache the cache instance
+ * @return this builder
+ */
+ @Experimental
+ public T cache(Cache cache) {
+ this.cache = cache;
+ return self();
+ }
+
+ /**
+ * Sets a custom connection provider.
+ *
+ * When a custom connection provider is set, other connection-related configuration may be ignored
+ * as the provider is responsible for managing connections. The specific behavior depends on the
+ * concrete builder implementation.
+ * @param connectionProvider the connection provider
+ * @return this builder
+ */
+ public T connectionProvider(ConnectionProvider connectionProvider) {
+ this.connectionProvider = connectionProvider;
+ return self();
+ }
+
+ /**
+ * Sets a key preprocessor for transforming Redis keys before sending commands.
+ *
+ * The key preprocessor allows you to modify keys before they are sent to Redis, for example to
+ * add prefixes, apply transformations, or implement key routing logic.
+ *
+ * Example usage:
+ *
+ *
{@code
+ * CommandKeyArgumentPreProcessor keyProcessor = key -> "myapp:" + key;
+ * builder.keyPreProcessor(keyProcessor);
+ * }
+ *
+ * @param keyPreProcessor the key preprocessor
+ * @return this builder
+ */
+ public T keyPreProcessor(CommandKeyArgumentPreProcessor keyPreProcessor) {
+ this.keyPreProcessor = keyPreProcessor;
+ return self();
+ }
+
+ /**
+ * Sets a custom JSON object mapper for JSON operations.
+ *
+ * The JSON object mapper is used for serializing and deserializing objects in JSON commands
+ * (RedisJSON module). If not set, a default Gson-based mapper will be used.
+ *
+ * Example usage:
+ *
+ *
{@code
+ * JsonObjectMapper customMapper = new MyCustomJsonMapper();
+ * builder.jsonObjectMapper(customMapper);
+ * }
+ *
+ * @param jsonObjectMapper the JSON object mapper
+ * @return this builder
+ */
+ public T jsonObjectMapper(JsonObjectMapper jsonObjectMapper) {
+ this.jsonObjectMapper = jsonObjectMapper;
+ return self();
+ }
+
+ /**
+ * Sets the default search dialect for RediSearch operations.
+ *
+ * The search dialect determines the query syntax and features available for RediSearch commands.
+ * Different dialects support different query features and syntax variations.
+ *
+ * Default is {@value redis.clients.jedis.search.SearchProtocol#DEFAULT_DIALECT}.
+ * @param searchDialect the search dialect version
+ * @return this builder
+ * @throws IllegalArgumentException if dialect is 0 (not allowed)
+ */
+ public T searchDialect(int searchDialect) {
+ if (searchDialect == 0) {
+ throw new IllegalArgumentException("DIALECT=0 cannot be set.");
+ }
+ this.searchDialect = searchDialect;
+ return self();
+ }
+
+ /**
+ * Applies common configuration to the CommandObjects instance.
+ *
+ * This method is called by concrete builders to configure the CommandObjects with the common
+ * settings like key preprocessor, JSON mapper, and search dialect.
+ * @param commandObjects the CommandObjects instance to configure
+ */
+ protected void applyCommonConfiguration(CommandObjects commandObjects) {
+ if (keyPreProcessor != null) {
+ commandObjects.setKeyArgumentPreProcessor(keyPreProcessor);
+ }
+
+ if (jsonObjectMapper != null) {
+ commandObjects.setJsonObjectMapper(jsonObjectMapper);
+ }
+
+ if (searchDialect != SearchProtocol.DEFAULT_DIALECT) {
+ commandObjects.setDefaultSearchDialect(searchDialect);
+ }
+ }
+
+ /**
+ * Validates common configuration parameters.
+ *
+ * This method can be called by concrete builders to validate the common configuration before
+ * building the client.
+ * @throws IllegalArgumentException if any common configuration is invalid
+ */
+ protected void validateCommonConfiguration() {
+ if (poolConfig == null) {
+ throw new IllegalArgumentException("Pool configuration cannot be null");
+ }
+ }
+}
diff --git a/src/main/java/redis/clients/jedis/BaseRedisClient.java b/src/main/java/redis/clients/jedis/BaseRedisClient.java
new file mode 100644
index 0000000000..293a25ecb5
--- /dev/null
+++ b/src/main/java/redis/clients/jedis/BaseRedisClient.java
@@ -0,0 +1,4655 @@
+package redis.clients.jedis;
+
+import org.json.JSONArray;
+import redis.clients.jedis.args.*;
+import redis.clients.jedis.bloom.*;
+import redis.clients.jedis.bloom.commands.RedisBloomCommands;
+import redis.clients.jedis.commands.*;
+import redis.clients.jedis.csc.Cache;
+import redis.clients.jedis.json.JsonSetParams;
+import redis.clients.jedis.json.Path2;
+import redis.clients.jedis.json.commands.RedisJsonV2Commands;
+import redis.clients.jedis.params.*;
+import redis.clients.jedis.providers.ConnectionProvider;
+import redis.clients.jedis.resps.*;
+import redis.clients.jedis.search.*;
+import redis.clients.jedis.search.aggr.AggregationBuilder;
+import redis.clients.jedis.search.aggr.AggregationResult;
+import redis.clients.jedis.search.aggr.FtAggregateIteration;
+import redis.clients.jedis.search.schemafields.SchemaField;
+import redis.clients.jedis.timeseries.*;
+import redis.clients.jedis.util.KeyValue;
+
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * Abstract base class that implements all Redis command interfaces.
+ */
+public abstract class BaseRedisClient implements JedisCommands, JedisBinaryCommands,
+ SampleKeyedCommands, SampleBinaryKeyedCommands, RediSearchCommands, RedisJsonV2Commands,
+ RedisTimeSeriesCommands, RedisBloomCommands, AutoCloseable {
+
+ /**
+ * Get the command objects factory for this client.
+ * @return CommandObjects instance
+ */
+ protected abstract CommandObjects getCommandObjects();
+
+ /**
+ * Get the connection provider for this client.
+ * @return ConnectionProvider instance
+ */
+ protected abstract ConnectionProvider getConnectionProvider();
+
+ /**
+ * Get the cache for this client.
+ * @return Cache instance
+ */
+ public abstract Cache getCache();
+
+ /**
+ * Execute a Redis command.
+ * @param The return type of the command
+ * @param commandObject The command to execute
+ * @return The command result
+ */
+ public abstract T executeCommand(CommandObject commandObject);
+
+ /**
+ * Broadcast a Redis command to all nodes in a cluster.
+ * @param The return type of the command
+ * @param commandObject The command to broadcast
+ * @return The command result
+ */
+ public abstract T broadcastCommand(CommandObject commandObject);
+
+ /**
+ * Check if a command should be broadcast and execute accordingly.
+ * @param The return type of the command
+ * @param commandObject The command to execute
+ * @return The command result
+ */
+ protected abstract T checkAndBroadcastCommand(CommandObject commandObject);
+
+ /**
+ * Create a new pipeline for batching commands.
+ * @return a new AbstractPipeline instance
+ */
+ public abstract AbstractPipeline pipelined();
+
+ /**
+ * Create a new transaction.
+ * @return a new AbstractTransaction instance
+ */
+ public AbstractTransaction multi() {
+ return transaction(true);
+ }
+
+ /**
+ * Create a new transaction with optional MULTI command.
+ * @param doMulti whether to execute MULTI command
+ * @return a new AbstractTransaction instance
+ */
+ public abstract AbstractTransaction transaction(boolean doMulti);
+
+ // Generic sendCommand methods for raw protocol commands
+ public Object sendCommand(ProtocolCommand cmd) {
+ return executeCommand(
+ new CommandObject<>(getCommandObjects().commandArguments(cmd), BuilderFactory.RAW_OBJECT));
+ }
+
+ public Object sendCommand(ProtocolCommand cmd, byte[]... args) {
+ return executeCommand(
+ new CommandObject<>(getCommandObjects().commandArguments(cmd).addObjects((Object[]) args),
+ BuilderFactory.RAW_OBJECT));
+ }
+
+ public Object sendBlockingCommand(ProtocolCommand cmd, byte[]... args) {
+ return executeCommand(new CommandObject<>(
+ getCommandObjects().commandArguments(cmd).addObjects((Object[]) args).blocking(),
+ BuilderFactory.RAW_OBJECT));
+ }
+
+ public Object sendCommand(ProtocolCommand cmd, String... args) {
+ return executeCommand(
+ new CommandObject<>(getCommandObjects().commandArguments(cmd).addObjects((Object[]) args),
+ BuilderFactory.RAW_OBJECT));
+ }
+
+ public Object sendBlockingCommand(ProtocolCommand cmd, String... args) {
+ return executeCommand(new CommandObject<>(
+ getCommandObjects().commandArguments(cmd).addObjects((Object[]) args).blocking(),
+ BuilderFactory.RAW_OBJECT));
+ }
+
+ public Object sendCommand(byte[] sampleKey, ProtocolCommand cmd, byte[]... args) {
+ return executeCommand(new CommandObject<>(
+ getCommandObjects().commandArguments(cmd).addObjects((Object[]) args).processKey(sampleKey),
+ BuilderFactory.RAW_OBJECT));
+ }
+
+ public Object sendBlockingCommand(byte[] sampleKey, ProtocolCommand cmd, byte[]... args) {
+ return executeCommand(new CommandObject<>(getCommandObjects().commandArguments(cmd)
+ .addObjects((Object[]) args).blocking().processKey(sampleKey), BuilderFactory.RAW_OBJECT));
+ }
+
+ public Object sendCommand(String sampleKey, ProtocolCommand cmd, String... args) {
+ return executeCommand(new CommandObject<>(
+ getCommandObjects().commandArguments(cmd).addObjects((Object[]) args).processKey(sampleKey),
+ BuilderFactory.RAW_OBJECT));
+ }
+
+ public Object sendBlockingCommand(String sampleKey, ProtocolCommand cmd, String... args) {
+ return executeCommand(new CommandObject<>(getCommandObjects().commandArguments(cmd)
+ .addObjects((Object[]) args).blocking().processKey(sampleKey), BuilderFactory.RAW_OBJECT));
+ }
+
+ // Random node commands
+ public void subscribe(final JedisPubSub jedisPubSub, final String... channels) {
+ try (Connection connection = getConnectionProvider().getConnection()) {
+ jedisPubSub.proceed(connection, channels);
+ }
+ }
+
+ public void psubscribe(final JedisPubSub jedisPubSub, final String... patterns) {
+ try (Connection connection = getConnectionProvider().getConnection()) {
+ jedisPubSub.proceedWithPatterns(connection, patterns);
+ }
+ }
+
+ public void subscribe(BinaryJedisPubSub jedisPubSub, final byte[]... channels) {
+ try (Connection connection = getConnectionProvider().getConnection()) {
+ jedisPubSub.proceed(connection, channels);
+ }
+ }
+
+ public void psubscribe(BinaryJedisPubSub jedisPubSub, final byte[]... patterns) {
+ try (Connection connection = getConnectionProvider().getConnection()) {
+ jedisPubSub.proceedWithPatterns(connection, patterns);
+ }
+ }
+ // Random node commands
+
+ // Redis command methods
+ public String ping() {
+ return checkAndBroadcastCommand(getCommandObjects().ping());
+ }
+
+ public String flushDB() {
+ return checkAndBroadcastCommand(getCommandObjects().flushDB());
+ }
+
+ public String flushAll() {
+ return checkAndBroadcastCommand(getCommandObjects().flushAll());
+ }
+
+ public String configSet(String parameter, String value) {
+ return checkAndBroadcastCommand(getCommandObjects().configSet(parameter, value));
+ }
+
+ public String info() {
+ return executeCommand(getCommandObjects().info());
+ }
+
+ public String info(String section) {
+ return executeCommand(getCommandObjects().info(section));
+ }
+
+ // Key commands
+ @Override
+ public boolean exists(String key) {
+ return executeCommand(getCommandObjects().exists(key));
+ }
+
+ @Override
+ public long exists(String... keys) {
+ return executeCommand(getCommandObjects().exists(keys));
+ }
+
+ @Override
+ public long persist(String key) {
+ return executeCommand(getCommandObjects().persist(key));
+ }
+
+ @Override
+ public String type(String key) {
+ return executeCommand(getCommandObjects().type(key));
+ }
+
+ @Override
+ public boolean exists(byte[] key) {
+ return executeCommand(getCommandObjects().exists(key));
+ }
+
+ @Override
+ public long exists(byte[]... keys) {
+ return executeCommand(getCommandObjects().exists(keys));
+ }
+
+ @Override
+ public long persist(byte[] key) {
+ return executeCommand(getCommandObjects().persist(key));
+ }
+
+ @Override
+ public String type(byte[] key) {
+ return executeCommand(getCommandObjects().type(key));
+ }
+
+ @Override
+ public byte[] dump(String key) {
+ return executeCommand(getCommandObjects().dump(key));
+ }
+
+ @Override
+ public String restore(String key, long ttl, byte[] serializedValue) {
+ return executeCommand(getCommandObjects().restore(key, ttl, serializedValue));
+ }
+
+ @Override
+ public String restore(String key, long ttl, byte[] serializedValue, RestoreParams params) {
+ return executeCommand(getCommandObjects().restore(key, ttl, serializedValue, params));
+ }
+
+ @Override
+ public byte[] dump(byte[] key) {
+ return executeCommand(getCommandObjects().dump(key));
+ }
+
+ @Override
+ public String restore(byte[] key, long ttl, byte[] serializedValue) {
+ return executeCommand(getCommandObjects().restore(key, ttl, serializedValue));
+ }
+
+ @Override
+ public String restore(byte[] key, long ttl, byte[] serializedValue, RestoreParams params) {
+ return executeCommand(getCommandObjects().restore(key, ttl, serializedValue, params));
+ }
+
+ @Override
+ public long expire(String key, long seconds) {
+ return executeCommand(getCommandObjects().expire(key, seconds));
+ }
+
+ @Override
+ public long expire(String key, long seconds, ExpiryOption expiryOption) {
+ return executeCommand(getCommandObjects().expire(key, seconds, expiryOption));
+ }
+
+ @Override
+ public long pexpire(String key, long milliseconds) {
+ return executeCommand(getCommandObjects().pexpire(key, milliseconds));
+ }
+
+ @Override
+ public long pexpire(String key, long milliseconds, ExpiryOption expiryOption) {
+ return executeCommand(getCommandObjects().pexpire(key, milliseconds, expiryOption));
+ }
+
+ @Override
+ public long expireTime(String key) {
+ return executeCommand(getCommandObjects().expireTime(key));
+ }
+
+ @Override
+ public long pexpireTime(String key) {
+ return executeCommand(getCommandObjects().pexpireTime(key));
+ }
+
+ @Override
+ public long expireAt(String key, long unixTime) {
+ return executeCommand(getCommandObjects().expireAt(key, unixTime));
+ }
+
+ @Override
+ public long expireAt(String key, long unixTime, ExpiryOption expiryOption) {
+ return executeCommand(getCommandObjects().expireAt(key, unixTime, expiryOption));
+ }
+
+ @Override
+ public long pexpireAt(String key, long millisecondsTimestamp) {
+ return executeCommand(getCommandObjects().pexpireAt(key, millisecondsTimestamp));
+ }
+
+ @Override
+ public long pexpireAt(String key, long millisecondsTimestamp, ExpiryOption expiryOption) {
+ return executeCommand(getCommandObjects().pexpireAt(key, millisecondsTimestamp, expiryOption));
+ }
+
+ @Override
+ public long expire(byte[] key, long seconds) {
+ return executeCommand(getCommandObjects().expire(key, seconds));
+ }
+
+ @Override
+ public long expire(byte[] key, long seconds, ExpiryOption expiryOption) {
+ return executeCommand(getCommandObjects().expire(key, seconds, expiryOption));
+ }
+
+ @Override
+ public long pexpire(byte[] key, long milliseconds) {
+ return executeCommand(getCommandObjects().pexpire(key, milliseconds));
+ }
+
+ @Override
+ public long pexpire(byte[] key, long milliseconds, ExpiryOption expiryOption) {
+ return executeCommand(getCommandObjects().pexpire(key, milliseconds, expiryOption));
+ }
+
+ @Override
+ public long expireTime(byte[] key) {
+ return executeCommand(getCommandObjects().expireTime(key));
+ }
+
+ @Override
+ public long pexpireTime(byte[] key) {
+ return executeCommand(getCommandObjects().pexpireTime(key));
+ }
+
+ @Override
+ public long expireAt(byte[] key, long unixTime) {
+ return executeCommand(getCommandObjects().expireAt(key, unixTime));
+ }
+
+ @Override
+ public long expireAt(byte[] key, long unixTime, ExpiryOption expiryOption) {
+ return executeCommand(getCommandObjects().expireAt(key, unixTime, expiryOption));
+ }
+
+ @Override
+ public long pexpireAt(byte[] key, long millisecondsTimestamp) {
+ return executeCommand(getCommandObjects().pexpireAt(key, millisecondsTimestamp));
+ }
+
+ @Override
+ public long pexpireAt(byte[] key, long millisecondsTimestamp, ExpiryOption expiryOption) {
+ return executeCommand(getCommandObjects().pexpireAt(key, millisecondsTimestamp, expiryOption));
+ }
+
+ @Override
+ public long ttl(String key) {
+ return executeCommand(getCommandObjects().ttl(key));
+ }
+
+ @Override
+ public long pttl(String key) {
+ return executeCommand(getCommandObjects().pttl(key));
+ }
+
+ @Override
+ public long touch(String key) {
+ return executeCommand(getCommandObjects().touch(key));
+ }
+
+ @Override
+ public long touch(String... keys) {
+ return executeCommand(getCommandObjects().touch(keys));
+ }
+
+ @Override
+ public long ttl(byte[] key) {
+ return executeCommand(getCommandObjects().ttl(key));
+ }
+
+ @Override
+ public long pttl(byte[] key) {
+ return executeCommand(getCommandObjects().pttl(key));
+ }
+
+ @Override
+ public long touch(byte[] key) {
+ return executeCommand(getCommandObjects().touch(key));
+ }
+
+ @Override
+ public long touch(byte[]... keys) {
+ return executeCommand(getCommandObjects().touch(keys));
+ }
+
+ @Override
+ public List sort(String key) {
+ return executeCommand(getCommandObjects().sort(key));
+ }
+
+ @Override
+ public List sort(String key, SortingParams sortingParams) {
+ return executeCommand(getCommandObjects().sort(key, sortingParams));
+ }
+
+ @Override
+ public long sort(String key, String dstkey) {
+ return executeCommand(getCommandObjects().sort(key, dstkey));
+ }
+
+ @Override
+ public long sort(String key, SortingParams sortingParams, String dstkey) {
+ return executeCommand(getCommandObjects().sort(key, sortingParams, dstkey));
+ }
+
+ @Override
+ public List sortReadonly(String key, SortingParams sortingParams) {
+ return executeCommand(getCommandObjects().sortReadonly(key, sortingParams));
+ }
+
+ @Override
+ public List sort(byte[] key) {
+ return executeCommand(getCommandObjects().sort(key));
+ }
+
+ @Override
+ public List sort(byte[] key, SortingParams sortingParams) {
+ return executeCommand(getCommandObjects().sort(key, sortingParams));
+ }
+
+ @Override
+ public long sort(byte[] key, byte[] dstkey) {
+ return executeCommand(getCommandObjects().sort(key, dstkey));
+ }
+
+ @Override
+ public List sortReadonly(byte[] key, SortingParams sortingParams) {
+ return executeCommand(getCommandObjects().sortReadonly(key, sortingParams));
+ }
+
+ @Override
+ public long sort(byte[] key, SortingParams sortingParams, byte[] dstkey) {
+ return executeCommand(getCommandObjects().sort(key, sortingParams, dstkey));
+ }
+
+ @Override
+ public long del(String key) {
+ return executeCommand(getCommandObjects().del(key));
+ }
+
+ @Override
+ public long del(String... keys) {
+ return executeCommand(getCommandObjects().del(keys));
+ }
+
+ @Override
+ public long unlink(String key) {
+ return executeCommand(getCommandObjects().unlink(key));
+ }
+
+ @Override
+ public long unlink(String... keys) {
+ return executeCommand(getCommandObjects().unlink(keys));
+ }
+
+ @Override
+ public long del(byte[] key) {
+ return executeCommand(getCommandObjects().del(key));
+ }
+
+ @Override
+ public long del(byte[]... keys) {
+ return executeCommand(getCommandObjects().del(keys));
+ }
+
+ @Override
+ public long unlink(byte[] key) {
+ return executeCommand(getCommandObjects().unlink(key));
+ }
+
+ @Override
+ public long unlink(byte[]... keys) {
+ return executeCommand(getCommandObjects().unlink(keys));
+ }
+
+ @Override
+ public Long memoryUsage(String key) {
+ return executeCommand(getCommandObjects().memoryUsage(key));
+ }
+
+ @Override
+ public Long memoryUsage(String key, int samples) {
+ return executeCommand(getCommandObjects().memoryUsage(key, samples));
+ }
+
+ @Override
+ public Long memoryUsage(byte[] key) {
+ return executeCommand(getCommandObjects().memoryUsage(key));
+ }
+
+ @Override
+ public Long memoryUsage(byte[] key, int samples) {
+ return executeCommand(getCommandObjects().memoryUsage(key, samples));
+ }
+
+ @Override
+ public boolean copy(String srcKey, String dstKey, boolean replace) {
+ return executeCommand(getCommandObjects().copy(srcKey, dstKey, replace));
+ }
+
+ @Override
+ public String rename(String oldkey, String newkey) {
+ return executeCommand(getCommandObjects().rename(oldkey, newkey));
+ }
+
+ @Override
+ public long renamenx(String oldkey, String newkey) {
+ return executeCommand(getCommandObjects().renamenx(oldkey, newkey));
+ }
+
+ @Override
+ public boolean copy(byte[] srcKey, byte[] dstKey, boolean replace) {
+ return executeCommand(getCommandObjects().copy(srcKey, dstKey, replace));
+ }
+
+ @Override
+ public String rename(byte[] oldkey, byte[] newkey) {
+ return executeCommand(getCommandObjects().rename(oldkey, newkey));
+ }
+
+ @Override
+ public long renamenx(byte[] oldkey, byte[] newkey) {
+ return executeCommand(getCommandObjects().renamenx(oldkey, newkey));
+ }
+
+ public long dbSize() {
+ return executeCommand(getCommandObjects().dbSize());
+ }
+
+ @Override
+ public Set keys(String pattern) {
+ return executeCommand(getCommandObjects().keys(pattern));
+ }
+
+ @Override
+ public ScanResult scan(String cursor) {
+ return executeCommand(getCommandObjects().scan(cursor));
+ }
+
+ @Override
+ public ScanResult scan(String cursor, ScanParams params) {
+ return executeCommand(getCommandObjects().scan(cursor, params));
+ }
+
+ @Override
+ public ScanResult scan(String cursor, ScanParams params, String type) {
+ return executeCommand(getCommandObjects().scan(cursor, params, type));
+ }
+
+ /**
+ * @param batchCount COUNT for each batch execution
+ * @param match pattern
+ * @return scan iteration
+ */
+ public ScanIteration scanIteration(int batchCount, String match) {
+ return new ScanIteration(getConnectionProvider(), batchCount, match);
+ }
+
+ /**
+ * @param batchCount COUNT for each batch execution
+ * @param match pattern
+ * @param type key type
+ * @return scan iteration
+ */
+ public ScanIteration scanIteration(int batchCount, String match, String type) {
+ return new ScanIteration(getConnectionProvider(), batchCount, match, type);
+ }
+
+ @Override
+ public Set keys(byte[] pattern) {
+ return executeCommand(getCommandObjects().keys(pattern));
+ }
+
+ @Override
+ public ScanResult scan(byte[] cursor) {
+ return executeCommand(getCommandObjects().scan(cursor));
+ }
+
+ @Override
+ public ScanResult scan(byte[] cursor, ScanParams params) {
+ return executeCommand(getCommandObjects().scan(cursor, params));
+ }
+
+ @Override
+ public ScanResult scan(byte[] cursor, ScanParams params, byte[] type) {
+ return executeCommand(getCommandObjects().scan(cursor, params, type));
+ }
+
+ @Override
+ public String randomKey() {
+ return executeCommand(getCommandObjects().randomKey());
+ }
+
+ @Override
+ public byte[] randomBinaryKey() {
+ return executeCommand(getCommandObjects().randomBinaryKey());
+ }
+
+ @Override
+ public String psetex(String key, long milliseconds, String value) {
+ return executeCommand(getCommandObjects().psetex(key, milliseconds, value));
+ }
+
+ @Override
+ public String psetex(byte[] key, long milliseconds, byte[] value) {
+ return executeCommand(getCommandObjects().psetex(key, milliseconds, value));
+ }
+
+ @Override
+ public long incr(String key) {
+ return executeCommand(getCommandObjects().incr(key));
+ }
+
+ @Override
+ public long incrBy(String key, long increment) {
+ return executeCommand(getCommandObjects().incrBy(key, increment));
+ }
+
+ @Override
+ public double incrByFloat(String key, double increment) {
+ return executeCommand(getCommandObjects().incrByFloat(key, increment));
+ }
+
+ @Override
+ public long decr(String key) {
+ return executeCommand(getCommandObjects().decr(key));
+ }
+
+ @Override
+ public long decrBy(String key, long decrement) {
+ return executeCommand(getCommandObjects().decrBy(key, decrement));
+ }
+
+ @Override
+ public long incr(byte[] key) {
+ return executeCommand(getCommandObjects().incr(key));
+ }
+
+ @Override
+ public long incrBy(byte[] key, long increment) {
+ return executeCommand(getCommandObjects().incrBy(key, increment));
+ }
+
+ @Override
+ public double incrByFloat(byte[] key, double increment) {
+ return executeCommand(getCommandObjects().incrByFloat(key, increment));
+ }
+
+ @Override
+ public long decr(byte[] key) {
+ return executeCommand(getCommandObjects().decr(key));
+ }
+
+ @Override
+ public long decrBy(byte[] key, long decrement) {
+ return executeCommand(getCommandObjects().decrBy(key, decrement));
+ }
+
+ @Override
+ public String set(String key, String value) {
+ return executeCommand(getCommandObjects().set(key, value));
+ }
+
+ @Override
+ public String set(String key, String value, SetParams params) {
+ return executeCommand(getCommandObjects().set(key, value, params));
+ }
+
+ @Override
+ public String get(String key) {
+ return executeCommand(getCommandObjects().get(key));
+ }
+
+ @Override
+ public String setGet(String key, String value) {
+ return executeCommand(getCommandObjects().setGet(key, value));
+ }
+
+ @Override
+ public String setGet(String key, String value, SetParams params) {
+ return executeCommand(getCommandObjects().setGet(key, value, params));
+ }
+
+ @Override
+ public String getDel(String key) {
+ return executeCommand(getCommandObjects().getDel(key));
+ }
+
+ @Override
+ public String getEx(String key, GetExParams params) {
+ return executeCommand(getCommandObjects().getEx(key, params));
+ }
+
+ @Override
+ public String set(byte[] key, byte[] value) {
+ return executeCommand(getCommandObjects().set(key, value));
+ }
+
+ @Override
+ public String set(byte[] key, byte[] value, SetParams params) {
+ return executeCommand(getCommandObjects().set(key, value, params));
+ }
+
+ @Override
+ public byte[] get(byte[] key) {
+ return executeCommand(getCommandObjects().get(key));
+ }
+
+ @Override
+ public byte[] setGet(byte[] key, byte[] value) {
+ return executeCommand(getCommandObjects().setGet(key, value));
+ }
+
+ @Override
+ public byte[] setGet(byte[] key, byte[] value, SetParams params) {
+ return executeCommand(getCommandObjects().setGet(key, value, params));
+ }
+
+ @Override
+ public byte[] getDel(byte[] key) {
+ return executeCommand(getCommandObjects().getDel(key));
+ }
+
+ @Override
+ public byte[] getEx(byte[] key, GetExParams params) {
+ return executeCommand(getCommandObjects().getEx(key, params));
+ }
+
+ @Override
+ public boolean setbit(String key, long offset, boolean value) {
+ return executeCommand(getCommandObjects().setbit(key, offset, value));
+ }
+
+ @Override
+ public boolean getbit(String key, long offset) {
+ return executeCommand(getCommandObjects().getbit(key, offset));
+ }
+
+ @Override
+ public long setrange(String key, long offset, String value) {
+ return executeCommand(getCommandObjects().setrange(key, offset, value));
+ }
+
+ @Override
+ public String getrange(String key, long startOffset, long endOffset) {
+ return executeCommand(getCommandObjects().getrange(key, startOffset, endOffset));
+ }
+
+ @Override
+ public boolean setbit(byte[] key, long offset, boolean value) {
+ return executeCommand(getCommandObjects().setbit(key, offset, value));
+ }
+
+ @Override
+ public boolean getbit(byte[] key, long offset) {
+ return executeCommand(getCommandObjects().getbit(key, offset));
+ }
+
+ @Override
+ public long setnx(String key, String value) {
+ return executeCommand(getCommandObjects().setnx(key, value));
+ }
+
+ @Override
+ public String setex(String key, long seconds, String value) {
+ return executeCommand(getCommandObjects().setex(key, seconds, value));
+ }
+
+ @Override
+ public long setnx(byte[] key, byte[] value) {
+ return executeCommand(getCommandObjects().setnx(key, value));
+ }
+
+ @Override
+ public String setex(byte[] key, long seconds, byte[] value) {
+ return executeCommand(getCommandObjects().setex(key, seconds, value));
+ }
+
+ @Override
+ public long setrange(byte[] key, long offset, byte[] value) {
+ return executeCommand(getCommandObjects().setrange(key, offset, value));
+ }
+
+ @Override
+ public byte[] getrange(byte[] key, long startOffset, long endOffset) {
+ return executeCommand(getCommandObjects().getrange(key, startOffset, endOffset));
+ }
+
+ @Override
+ public List mget(String... keys) {
+ return executeCommand(getCommandObjects().mget(keys));
+ }
+
+ @Override
+ public String mset(String... keysvalues) {
+ return executeCommand(getCommandObjects().mset(keysvalues));
+ }
+
+ @Override
+ public long msetnx(String... keysvalues) {
+ return executeCommand(getCommandObjects().msetnx(keysvalues));
+ }
+
+ @Override
+ public List mget(byte[]... keys) {
+ return executeCommand(getCommandObjects().mget(keys));
+ }
+
+ @Override
+ public String mset(byte[]... keysvalues) {
+ return executeCommand(getCommandObjects().mset(keysvalues));
+ }
+
+ @Override
+ public long msetnx(byte[]... keysvalues) {
+ return executeCommand(getCommandObjects().msetnx(keysvalues));
+ }
+
+ @Override
+ public long append(String key, String value) {
+ return executeCommand(getCommandObjects().append(key, value));
+ }
+
+ @Override
+ public String substr(String key, int start, int end) {
+ return executeCommand(getCommandObjects().substr(key, start, end));
+ }
+
+ @Override
+ public long strlen(String key) {
+ return executeCommand(getCommandObjects().strlen(key));
+ }
+
+ @Override
+ public long append(byte[] key, byte[] value) {
+ return executeCommand(getCommandObjects().append(key, value));
+ }
+
+ @Override
+ public byte[] substr(byte[] key, int start, int end) {
+ return executeCommand(getCommandObjects().substr(key, start, end));
+ }
+
+ @Override
+ public long strlen(byte[] key) {
+ return executeCommand(getCommandObjects().strlen(key));
+ }
+
+ @Override
+ public long bitcount(String key) {
+ return executeCommand(getCommandObjects().bitcount(key));
+ }
+
+ @Override
+ public long bitcount(String key, long start, long end) {
+ return executeCommand(getCommandObjects().bitcount(key, start, end));
+ }
+
+ @Override
+ public long bitcount(String key, long start, long end, BitCountOption option) {
+ return executeCommand(getCommandObjects().bitcount(key, start, end, option));
+ }
+
+ @Override
+ public long bitpos(String key, boolean value) {
+ return executeCommand(getCommandObjects().bitpos(key, value));
+ }
+
+ @Override
+ public long bitpos(String key, boolean value, BitPosParams params) {
+ return executeCommand(getCommandObjects().bitpos(key, value, params));
+ }
+
+ @Override
+ public long bitcount(byte[] key) {
+ return executeCommand(getCommandObjects().bitcount(key));
+ }
+
+ @Override
+ public long bitcount(byte[] key, long start, long end) {
+ return executeCommand(getCommandObjects().bitcount(key, start, end));
+ }
+
+ @Override
+ public long bitcount(byte[] key, long start, long end, BitCountOption option) {
+ return executeCommand(getCommandObjects().bitcount(key, start, end, option));
+ }
+
+ @Override
+ public long bitpos(byte[] key, boolean value) {
+ return executeCommand(getCommandObjects().bitpos(key, value));
+ }
+
+ @Override
+ public long bitpos(byte[] key, boolean value, BitPosParams params) {
+ return executeCommand(getCommandObjects().bitpos(key, value, params));
+ }
+
+ @Override
+ public List bitfield(String key, String... arguments) {
+ return executeCommand(getCommandObjects().bitfield(key, arguments));
+ }
+
+ @Override
+ public List bitfieldReadonly(String key, String... arguments) {
+ return executeCommand(getCommandObjects().bitfieldReadonly(key, arguments));
+ }
+
+ @Override
+ public List bitfield(byte[] key, byte[]... arguments) {
+ return executeCommand(getCommandObjects().bitfield(key, arguments));
+ }
+
+ @Override
+ public List bitfieldReadonly(byte[] key, byte[]... arguments) {
+ return executeCommand(getCommandObjects().bitfieldReadonly(key, arguments));
+ }
+
+ @Override
+ public long bitop(BitOP op, String destKey, String... srcKeys) {
+ return executeCommand(getCommandObjects().bitop(op, destKey, srcKeys));
+ }
+
+ @Override
+ public long bitop(BitOP op, byte[] destKey, byte[]... srcKeys) {
+ return executeCommand(getCommandObjects().bitop(op, destKey, srcKeys));
+ }
+
+ @Override
+ public LCSMatchResult lcs(String keyA, String keyB, LCSParams params) {
+ return executeCommand(getCommandObjects().lcs(keyA, keyB, params));
+ }
+
+ @Override
+ public LCSMatchResult lcs(byte[] keyA, byte[] keyB, LCSParams params) {
+ return executeCommand(getCommandObjects().lcs(keyA, keyB, params));
+ }
+
+ // List commands
+ @Override
+ public long rpush(String key, String... string) {
+ return executeCommand(getCommandObjects().rpush(key, string));
+ }
+
+ @Override
+ public long lpush(String key, String... string) {
+ return executeCommand(getCommandObjects().lpush(key, string));
+ }
+
+ @Override
+ public long llen(String key) {
+ return executeCommand(getCommandObjects().llen(key));
+ }
+
+ @Override
+ public List lrange(String key, long start, long stop) {
+ return executeCommand(getCommandObjects().lrange(key, start, stop));
+ }
+
+ @Override
+ public String ltrim(String key, long start, long stop) {
+ return executeCommand(getCommandObjects().ltrim(key, start, stop));
+ }
+
+ @Override
+ public String lindex(String key, long index) {
+ return executeCommand(getCommandObjects().lindex(key, index));
+ }
+
+ @Override
+ public long rpush(byte[] key, byte[]... args) {
+ return executeCommand(getCommandObjects().rpush(key, args));
+ }
+
+ @Override
+ public long lpush(byte[] key, byte[]... args) {
+ return executeCommand(getCommandObjects().lpush(key, args));
+ }
+
+ @Override
+ public long llen(byte[] key) {
+ return executeCommand(getCommandObjects().llen(key));
+ }
+
+ @Override
+ public List lrange(byte[] key, long start, long stop) {
+ return executeCommand(getCommandObjects().lrange(key, start, stop));
+ }
+
+ @Override
+ public String ltrim(byte[] key, long start, long stop) {
+ return executeCommand(getCommandObjects().ltrim(key, start, stop));
+ }
+
+ @Override
+ public byte[] lindex(byte[] key, long index) {
+ return executeCommand(getCommandObjects().lindex(key, index));
+ }
+
+ @Override
+ public String lset(String key, long index, String value) {
+ return executeCommand(getCommandObjects().lset(key, index, value));
+ }
+
+ @Override
+ public long lrem(String key, long count, String value) {
+ return executeCommand(getCommandObjects().lrem(key, count, value));
+ }
+
+ @Override
+ public String lpop(String key) {
+ return executeCommand(getCommandObjects().lpop(key));
+ }
+
+ @Override
+ public List lpop(String key, int count) {
+ return executeCommand(getCommandObjects().lpop(key, count));
+ }
+
+ @Override
+ public String lset(byte[] key, long index, byte[] value) {
+ return executeCommand(getCommandObjects().lset(key, index, value));
+ }
+
+ @Override
+ public long lrem(byte[] key, long count, byte[] value) {
+ return executeCommand(getCommandObjects().lrem(key, count, value));
+ }
+
+ @Override
+ public byte[] lpop(byte[] key) {
+ return executeCommand(getCommandObjects().lpop(key));
+ }
+
+ @Override
+ public List lpop(byte[] key, int count) {
+ return executeCommand(getCommandObjects().lpop(key, count));
+ }
+
+ @Override
+ public Long lpos(String key, String element) {
+ return executeCommand(getCommandObjects().lpos(key, element));
+ }
+
+ @Override
+ public Long lpos(String key, String element, LPosParams params) {
+ return executeCommand(getCommandObjects().lpos(key, element, params));
+ }
+
+ @Override
+ public List lpos(String key, String element, LPosParams params, long count) {
+ return executeCommand(getCommandObjects().lpos(key, element, params, count));
+ }
+
+ @Override
+ public Long lpos(byte[] key, byte[] element) {
+ return executeCommand(getCommandObjects().lpos(key, element));
+ }
+
+ @Override
+ public Long lpos(byte[] key, byte[] element, LPosParams params) {
+ return executeCommand(getCommandObjects().lpos(key, element, params));
+ }
+
+ @Override
+ public List lpos(byte[] key, byte[] element, LPosParams params, long count) {
+ return executeCommand(getCommandObjects().lpos(key, element, params, count));
+ }
+
+ @Override
+ public String rpop(String key) {
+ return executeCommand(getCommandObjects().rpop(key));
+ }
+
+ @Override
+ public List rpop(String key, int count) {
+ return executeCommand(getCommandObjects().rpop(key, count));
+ }
+
+ @Override
+ public byte[] rpop(byte[] key) {
+ return executeCommand(getCommandObjects().rpop(key));
+ }
+
+ @Override
+ public List rpop(byte[] key, int count) {
+ return executeCommand(getCommandObjects().rpop(key, count));
+ }
+
+ @Override
+ public long linsert(String key, ListPosition where, String pivot, String value) {
+ return executeCommand(getCommandObjects().linsert(key, where, pivot, value));
+ }
+
+ @Override
+ public long lpushx(String key, String... strings) {
+ return executeCommand(getCommandObjects().lpushx(key, strings));
+ }
+
+ @Override
+ public long rpushx(String key, String... strings) {
+ return executeCommand(getCommandObjects().rpushx(key, strings));
+ }
+
+ @Override
+ public long linsert(byte[] key, ListPosition where, byte[] pivot, byte[] value) {
+ return executeCommand(getCommandObjects().linsert(key, where, pivot, value));
+ }
+
+ @Override
+ public long lpushx(byte[] key, byte[]... args) {
+ return executeCommand(getCommandObjects().lpushx(key, args));
+ }
+
+ @Override
+ public long rpushx(byte[] key, byte[]... args) {
+ return executeCommand(getCommandObjects().rpushx(key, args));
+ }
+
+ @Override
+ public List blpop(int timeout, String key) {
+ return executeCommand(getCommandObjects().blpop(timeout, key));
+ }
+
+ @Override
+ public KeyValue blpop(double timeout, String key) {
+ return executeCommand(getCommandObjects().blpop(timeout, key));
+ }
+
+ @Override
+ public List brpop(int timeout, String key) {
+ return executeCommand(getCommandObjects().brpop(timeout, key));
+ }
+
+ @Override
+ public KeyValue brpop(double timeout, String key) {
+ return executeCommand(getCommandObjects().brpop(timeout, key));
+ }
+
+ @Override
+ public List blpop(int timeout, String... keys) {
+ return executeCommand(getCommandObjects().blpop(timeout, keys));
+ }
+
+ @Override
+ public KeyValue blpop(double timeout, String... keys) {
+ return executeCommand(getCommandObjects().blpop(timeout, keys));
+ }
+
+ @Override
+ public List brpop(int timeout, String... keys) {
+ return executeCommand(getCommandObjects().brpop(timeout, keys));
+ }
+
+ @Override
+ public KeyValue brpop(double timeout, String... keys) {
+ return executeCommand(getCommandObjects().brpop(timeout, keys));
+ }
+
+ @Override
+ public List blpop(int timeout, byte[]... keys) {
+ return executeCommand(getCommandObjects().blpop(timeout, keys));
+ }
+
+ @Override
+ public KeyValue blpop(double timeout, byte[]... keys) {
+ return executeCommand(getCommandObjects().blpop(timeout, keys));
+ }
+
+ @Override
+ public List brpop(int timeout, byte[]... keys) {
+ return executeCommand(getCommandObjects().brpop(timeout, keys));
+ }
+
+ @Override
+ public KeyValue brpop(double timeout, byte[]... keys) {
+ return executeCommand(getCommandObjects().brpop(timeout, keys));
+ }
+
+ @Override
+ public String rpoplpush(String srckey, String dstkey) {
+ return executeCommand(getCommandObjects().rpoplpush(srckey, dstkey));
+ }
+
+ @Override
+ public String brpoplpush(String source, String destination, int timeout) {
+ return executeCommand(getCommandObjects().brpoplpush(source, destination, timeout));
+ }
+
+ @Override
+ public byte[] rpoplpush(byte[] srckey, byte[] dstkey) {
+ return executeCommand(getCommandObjects().rpoplpush(srckey, dstkey));
+ }
+
+ @Override
+ public byte[] brpoplpush(byte[] source, byte[] destination, int timeout) {
+ return executeCommand(getCommandObjects().brpoplpush(source, destination, timeout));
+ }
+
+ @Override
+ public String lmove(String srcKey, String dstKey, ListDirection from, ListDirection to) {
+ return executeCommand(getCommandObjects().lmove(srcKey, dstKey, from, to));
+ }
+
+ @Override
+ public String blmove(String srcKey, String dstKey, ListDirection from, ListDirection to,
+ double timeout) {
+ return executeCommand(getCommandObjects().blmove(srcKey, dstKey, from, to, timeout));
+ }
+
+ @Override
+ public byte[] lmove(byte[] srcKey, byte[] dstKey, ListDirection from, ListDirection to) {
+ return executeCommand(getCommandObjects().lmove(srcKey, dstKey, from, to));
+ }
+
+ @Override
+ public byte[] blmove(byte[] srcKey, byte[] dstKey, ListDirection from, ListDirection to,
+ double timeout) {
+ return executeCommand(getCommandObjects().blmove(srcKey, dstKey, from, to, timeout));
+ }
+
+ @Override
+ public KeyValue> lmpop(ListDirection direction, String... keys) {
+ return executeCommand(getCommandObjects().lmpop(direction, keys));
+ }
+
+ @Override
+ public KeyValue> lmpop(ListDirection direction, int count, String... keys) {
+ return executeCommand(getCommandObjects().lmpop(direction, count, keys));
+ }
+
+ @Override
+ public KeyValue> blmpop(double timeout, ListDirection direction,
+ String... keys) {
+ return executeCommand(getCommandObjects().blmpop(timeout, direction, keys));
+ }
+
+ @Override
+ public KeyValue> blmpop(double timeout, ListDirection direction, int count,
+ String... keys) {
+ return executeCommand(getCommandObjects().blmpop(timeout, direction, count, keys));
+ }
+
+ @Override
+ public KeyValue> lmpop(ListDirection direction, byte[]... keys) {
+ return executeCommand(getCommandObjects().lmpop(direction, keys));
+ }
+
+ @Override
+ public KeyValue> lmpop(ListDirection direction, int count, byte[]... keys) {
+ return executeCommand(getCommandObjects().lmpop(direction, count, keys));
+ }
+
+ @Override
+ public KeyValue> blmpop(double timeout, ListDirection direction,
+ byte[]... keys) {
+ return executeCommand(getCommandObjects().blmpop(timeout, direction, keys));
+ }
+
+ @Override
+ public KeyValue> blmpop(double timeout, ListDirection direction, int count,
+ byte[]... keys) {
+ return executeCommand(getCommandObjects().blmpop(timeout, direction, count, keys));
+ }
+
+ // Hash commands
+ @Override
+ public long hset(String key, String field, String value) {
+ return executeCommand(getCommandObjects().hset(key, field, value));
+ }
+
+ @Override
+ public long hset(String key, Map hash) {
+ return executeCommand(getCommandObjects().hset(key, hash));
+ }
+
+ @Override
+ public long hsetex(String key, HSetExParams params, String field, String value) {
+ return executeCommand(getCommandObjects().hsetex(key, params, field, value));
+ }
+
+ @Override
+ public long hsetex(String key, HSetExParams params, Map hash) {
+ return executeCommand(getCommandObjects().hsetex(key, params, hash));
+ }
+
+ @Override
+ public String hget(String key, String field) {
+ return executeCommand(getCommandObjects().hget(key, field));
+ }
+
+ @Override
+ public List hgetex(String key, HGetExParams params, String... fields) {
+ return executeCommand(getCommandObjects().hgetex(key, params, fields));
+ }
+
+ @Override
+ public List hgetdel(String key, String... fields) {
+ return executeCommand(getCommandObjects().hgetdel(key, fields));
+ }
+
+ @Override
+ public long hsetnx(String key, String field, String value) {
+ return executeCommand(getCommandObjects().hsetnx(key, field, value));
+ }
+
+ @Override
+ public String hmset(String key, Map hash) {
+ return executeCommand(getCommandObjects().hmset(key, hash));
+ }
+
+ @Override
+ public List hmget(String key, String... fields) {
+ return executeCommand(getCommandObjects().hmget(key, fields));
+ }
+
+ @Override
+ public long hset(byte[] key, byte[] field, byte[] value) {
+ return executeCommand(getCommandObjects().hset(key, field, value));
+ }
+
+ @Override
+ public long hset(byte[] key, Map hash) {
+ return executeCommand(getCommandObjects().hset(key, hash));
+ }
+
+ @Override
+ public long hsetex(byte[] key, HSetExParams params, byte[] field, byte[] value) {
+ return executeCommand(getCommandObjects().hsetex(key, params, field, value));
+ }
+
+ @Override
+ public long hsetex(byte[] key, HSetExParams params, Map hash) {
+ return executeCommand(getCommandObjects().hsetex(key, params, hash));
+ }
+
+ @Override
+ public byte[] hget(byte[] key, byte[] field) {
+ return executeCommand(getCommandObjects().hget(key, field));
+ }
+
+ @Override
+ public List hgetex(byte[] key, HGetExParams params, byte[]... fields) {
+ return executeCommand(getCommandObjects().hgetex(key, params, fields));
+ }
+
+ @Override
+ public List hgetdel(byte[] key, byte[]... fields) {
+ return executeCommand(getCommandObjects().hgetdel(key, fields));
+ }
+
+ @Override
+ public long hsetnx(byte[] key, byte[] field, byte[] value) {
+ return executeCommand(getCommandObjects().hsetnx(key, field, value));
+ }
+
+ @Override
+ public String hmset(byte[] key, Map hash) {
+ return executeCommand(getCommandObjects().hmset(key, hash));
+ }
+
+ @Override
+ public List hmget(byte[] key, byte[]... fields) {
+ return executeCommand(getCommandObjects().hmget(key, fields));
+ }
+
+ @Override
+ public long hincrBy(String key, String field, long value) {
+ return executeCommand(getCommandObjects().hincrBy(key, field, value));
+ }
+
+ @Override
+ public double hincrByFloat(String key, String field, double value) {
+ return executeCommand(getCommandObjects().hincrByFloat(key, field, value));
+ }
+
+ @Override
+ public boolean hexists(String key, String field) {
+ return executeCommand(getCommandObjects().hexists(key, field));
+ }
+
+ @Override
+ public long hdel(String key, String... field) {
+ return executeCommand(getCommandObjects().hdel(key, field));
+ }
+
+ @Override
+ public long hlen(String key) {
+ return executeCommand(getCommandObjects().hlen(key));
+ }
+
+ @Override
+ public long hincrBy(byte[] key, byte[] field, long value) {
+ return executeCommand(getCommandObjects().hincrBy(key, field, value));
+ }
+
+ @Override
+ public double hincrByFloat(byte[] key, byte[] field, double value) {
+ return executeCommand(getCommandObjects().hincrByFloat(key, field, value));
+ }
+
+ @Override
+ public boolean hexists(byte[] key, byte[] field) {
+ return executeCommand(getCommandObjects().hexists(key, field));
+ }
+
+ @Override
+ public long hdel(byte[] key, byte[]... field) {
+ return executeCommand(getCommandObjects().hdel(key, field));
+ }
+
+ @Override
+ public long hlen(byte[] key) {
+ return executeCommand(getCommandObjects().hlen(key));
+ }
+
+ @Override
+ public Set hkeys(String key) {
+ return executeCommand(getCommandObjects().hkeys(key));
+ }
+
+ @Override
+ public List hvals(String key) {
+ return executeCommand(getCommandObjects().hvals(key));
+ }
+
+ @Override
+ public Map hgetAll(String key) {
+ return executeCommand(getCommandObjects().hgetAll(key));
+ }
+
+ @Override
+ public Set hkeys(byte[] key) {
+ return executeCommand(getCommandObjects().hkeys(key));
+ }
+
+ @Override
+ public List hvals(byte[] key) {
+ return executeCommand(getCommandObjects().hvals(key));
+ }
+
+ @Override
+ public Map hgetAll(byte[] key) {
+ return executeCommand(getCommandObjects().hgetAll(key));
+ }
+
+ @Override
+ public String hrandfield(String key) {
+ return executeCommand(getCommandObjects().hrandfield(key));
+ }
+
+ @Override
+ public List hrandfield(String key, long count) {
+ return executeCommand(getCommandObjects().hrandfield(key, count));
+ }
+
+ @Override
+ public List> hrandfieldWithValues(String key, long count) {
+ return executeCommand(getCommandObjects().hrandfieldWithValues(key, count));
+ }
+
+ @Override
+ public ScanResult> hscan(String key, String cursor, ScanParams params) {
+ return executeCommand(getCommandObjects().hscan(key, cursor, params));
+ }
+
+ @Override
+ public ScanResult hscanNoValues(String key, String cursor, ScanParams params) {
+ return executeCommand(getCommandObjects().hscanNoValues(key, cursor, params));
+ }
+
+ @Override
+ public long hstrlen(String key, String field) {
+ return executeCommand(getCommandObjects().hstrlen(key, field));
+ }
+
+ @Override
+ public byte[] hrandfield(byte[] key) {
+ return executeCommand(getCommandObjects().hrandfield(key));
+ }
+
+ @Override
+ public List hrandfield(byte[] key, long count) {
+ return executeCommand(getCommandObjects().hrandfield(key, count));
+ }
+
+ @Override
+ public List> hrandfieldWithValues(byte[] key, long count) {
+ return executeCommand(getCommandObjects().hrandfieldWithValues(key, count));
+ }
+
+ @Override
+ public ScanResult> hscan(byte[] key, byte[] cursor, ScanParams params) {
+ return executeCommand(getCommandObjects().hscan(key, cursor, params));
+ }
+
+ @Override
+ public ScanResult hscanNoValues(byte[] key, byte[] cursor, ScanParams params) {
+ return executeCommand(getCommandObjects().hscanNoValues(key, cursor, params));
+ }
+
+ @Override
+ public long hstrlen(byte[] key, byte[] field) {
+ return executeCommand(getCommandObjects().hstrlen(key, field));
+ }
+
+ @Override
+ public List hexpire(String key, long seconds, String... fields) {
+ return executeCommand(getCommandObjects().hexpire(key, seconds, fields));
+ }
+
+ @Override
+ public List hexpire(String key, long seconds, ExpiryOption condition, String... fields) {
+ return executeCommand(getCommandObjects().hexpire(key, seconds, condition, fields));
+ }
+
+ @Override
+ public List hpexpire(String key, long milliseconds, String... fields) {
+ return executeCommand(getCommandObjects().hpexpire(key, milliseconds, fields));
+ }
+
+ @Override
+ public List hpexpire(String key, long milliseconds, ExpiryOption condition,
+ String... fields) {
+ return executeCommand(getCommandObjects().hpexpire(key, milliseconds, condition, fields));
+ }
+
+ @Override
+ public List hexpireAt(String key, long unixTimeSeconds, String... fields) {
+ return executeCommand(getCommandObjects().hexpireAt(key, unixTimeSeconds, fields));
+ }
+
+ @Override
+ public List hexpireAt(String key, long unixTimeSeconds, ExpiryOption condition,
+ String... fields) {
+ return executeCommand(getCommandObjects().hexpireAt(key, unixTimeSeconds, condition, fields));
+ }
+
+ @Override
+ public List hpexpireAt(String key, long unixTimeMillis, String... fields) {
+ return executeCommand(getCommandObjects().hpexpireAt(key, unixTimeMillis, fields));
+ }
+
+ @Override
+ public List hpexpireAt(String key, long unixTimeMillis, ExpiryOption condition,
+ String... fields) {
+ return executeCommand(getCommandObjects().hpexpireAt(key, unixTimeMillis, condition, fields));
+ }
+
+ @Override
+ public List hexpire(byte[] key, long seconds, byte[]... fields) {
+ return executeCommand(getCommandObjects().hexpire(key, seconds, fields));
+ }
+
+ @Override
+ public List hexpire(byte[] key, long seconds, ExpiryOption condition, byte[]... fields) {
+ return executeCommand(getCommandObjects().hexpire(key, seconds, condition, fields));
+ }
+
+ @Override
+ public List hpexpire(byte[] key, long milliseconds, byte[]... fields) {
+ return executeCommand(getCommandObjects().hpexpire(key, milliseconds, fields));
+ }
+
+ @Override
+ public List hpexpire(byte[] key, long milliseconds, ExpiryOption condition,
+ byte[]... fields) {
+ return executeCommand(getCommandObjects().hpexpire(key, milliseconds, condition, fields));
+ }
+
+ @Override
+ public List hexpireAt(byte[] key, long unixTimeSeconds, byte[]... fields) {
+ return executeCommand(getCommandObjects().hexpireAt(key, unixTimeSeconds, fields));
+ }
+
+ @Override
+ public List hexpireAt(byte[] key, long unixTimeSeconds, ExpiryOption condition,
+ byte[]... fields) {
+ return executeCommand(getCommandObjects().hexpireAt(key, unixTimeSeconds, condition, fields));
+ }
+
+ @Override
+ public List hpexpireAt(byte[] key, long unixTimeMillis, byte[]... fields) {
+ return executeCommand(getCommandObjects().hpexpireAt(key, unixTimeMillis, fields));
+ }
+
+ @Override
+ public List hpexpireAt(byte[] key, long unixTimeMillis, ExpiryOption condition,
+ byte[]... fields) {
+ return executeCommand(getCommandObjects().hpexpireAt(key, unixTimeMillis, condition, fields));
+ }
+
+ @Override
+ public List hexpireTime(String key, String... fields) {
+ return executeCommand(getCommandObjects().hexpireTime(key, fields));
+ }
+
+ @Override
+ public List hpexpireTime(String key, String... fields) {
+ return executeCommand(getCommandObjects().hpexpireTime(key, fields));
+ }
+
+ @Override
+ public List httl(String key, String... fields) {
+ return executeCommand(getCommandObjects().httl(key, fields));
+ }
+
+ @Override
+ public List hpttl(String key, String... fields) {
+ return executeCommand(getCommandObjects().hpttl(key, fields));
+ }
+
+ @Override
+ public List hexpireTime(byte[] key, byte[]... fields) {
+ return executeCommand(getCommandObjects().hexpireTime(key, fields));
+ }
+
+ @Override
+ public List hpexpireTime(byte[] key, byte[]... fields) {
+ return executeCommand(getCommandObjects().hpexpireTime(key, fields));
+ }
+
+ @Override
+ public List httl(byte[] key, byte[]... fields) {
+ return executeCommand(getCommandObjects().httl(key, fields));
+ }
+
+ @Override
+ public List hpttl(byte[] key, byte[]... fields) {
+ return executeCommand(getCommandObjects().hpttl(key, fields));
+ }
+
+ @Override
+ public List hpersist(String key, String... fields) {
+ return executeCommand(getCommandObjects().hpersist(key, fields));
+ }
+
+ @Override
+ public List hpersist(byte[] key, byte[]... fields) {
+ return executeCommand(getCommandObjects().hpersist(key, fields));
+ }
+
+ // Set commands
+ @Override
+ public long sadd(String key, String... members) {
+ return executeCommand(getCommandObjects().sadd(key, members));
+ }
+
+ @Override
+ public Set smembers(String key) {
+ return executeCommand(getCommandObjects().smembers(key));
+ }
+
+ @Override
+ public long srem(String key, String... members) {
+ return executeCommand(getCommandObjects().srem(key, members));
+ }
+
+ @Override
+ public String spop(String key) {
+ return executeCommand(getCommandObjects().spop(key));
+ }
+
+ @Override
+ public Set spop(String key, long count) {
+ return executeCommand(getCommandObjects().spop(key, count));
+ }
+
+ @Override
+ public long scard(String key) {
+ return executeCommand(getCommandObjects().scard(key));
+ }
+
+ @Override
+ public boolean sismember(String key, String member) {
+ return executeCommand(getCommandObjects().sismember(key, member));
+ }
+
+ @Override
+ public List smismember(String key, String... members) {
+ return executeCommand(getCommandObjects().smismember(key, members));
+ }
+
+ @Override
+ public long sadd(byte[] key, byte[]... members) {
+ return executeCommand(getCommandObjects().sadd(key, members));
+ }
+
+ @Override
+ public Set smembers(byte[] key) {
+ return executeCommand(getCommandObjects().smembers(key));
+ }
+
+ @Override
+ public long srem(byte[] key, byte[]... members) {
+ return executeCommand(getCommandObjects().srem(key, members));
+ }
+
+ @Override
+ public byte[] spop(byte[] key) {
+ return executeCommand(getCommandObjects().spop(key));
+ }
+
+ @Override
+ public Set spop(byte[] key, long count) {
+ return executeCommand(getCommandObjects().spop(key, count));
+ }
+
+ @Override
+ public long scard(byte[] key) {
+ return executeCommand(getCommandObjects().scard(key));
+ }
+
+ @Override
+ public boolean sismember(byte[] key, byte[] member) {
+ return executeCommand(getCommandObjects().sismember(key, member));
+ }
+
+ @Override
+ public List smismember(byte[] key, byte[]... members) {
+ return executeCommand(getCommandObjects().smismember(key, members));
+ }
+
+ @Override
+ public String srandmember(String key) {
+ return executeCommand(getCommandObjects().srandmember(key));
+ }
+
+ @Override
+ public List srandmember(String key, int count) {
+ return executeCommand(getCommandObjects().srandmember(key, count));
+ }
+
+ @Override
+ public ScanResult sscan(String key, String cursor, ScanParams params) {
+ return executeCommand(getCommandObjects().sscan(key, cursor, params));
+ }
+
+ @Override
+ public byte[] srandmember(byte[] key) {
+ return executeCommand(getCommandObjects().srandmember(key));
+ }
+
+ @Override
+ public List srandmember(byte[] key, int count) {
+ return executeCommand(getCommandObjects().srandmember(key, count));
+ }
+
+ @Override
+ public ScanResult sscan(byte[] key, byte[] cursor, ScanParams params) {
+ return executeCommand(getCommandObjects().sscan(key, cursor, params));
+ }
+
+ @Override
+ public Set sdiff(String... keys) {
+ return executeCommand(getCommandObjects().sdiff(keys));
+ }
+
+ @Override
+ public long sdiffstore(String dstkey, String... keys) {
+ return executeCommand(getCommandObjects().sdiffstore(dstkey, keys));
+ }
+
+ @Override
+ public Set sinter(String... keys) {
+ return executeCommand(getCommandObjects().sinter(keys));
+ }
+
+ @Override
+ public long sinterstore(String dstkey, String... keys) {
+ return executeCommand(getCommandObjects().sinterstore(dstkey, keys));
+ }
+
+ @Override
+ public long sintercard(String... keys) {
+ return executeCommand(getCommandObjects().sintercard(keys));
+ }
+
+ @Override
+ public long sintercard(int limit, String... keys) {
+ return executeCommand(getCommandObjects().sintercard(limit, keys));
+ }
+
+ @Override
+ public Set sunion(String... keys) {
+ return executeCommand(getCommandObjects().sunion(keys));
+ }
+
+ @Override
+ public long sunionstore(String dstkey, String... keys) {
+ return executeCommand(getCommandObjects().sunionstore(dstkey, keys));
+ }
+
+ @Override
+ public long smove(String srckey, String dstkey, String member) {
+ return executeCommand(getCommandObjects().smove(srckey, dstkey, member));
+ }
+
+ @Override
+ public Set sdiff(byte[]... keys) {
+ return executeCommand(getCommandObjects().sdiff(keys));
+ }
+
+ @Override
+ public long sdiffstore(byte[] dstkey, byte[]... keys) {
+ return executeCommand(getCommandObjects().sdiffstore(dstkey, keys));
+ }
+
+ @Override
+ public Set sinter(byte[]... keys) {
+ return executeCommand(getCommandObjects().sinter(keys));
+ }
+
+ @Override
+ public long sinterstore(byte[] dstkey, byte[]... keys) {
+ return executeCommand(getCommandObjects().sinterstore(dstkey, keys));
+ }
+
+ @Override
+ public long sintercard(byte[]... keys) {
+ return executeCommand(getCommandObjects().sintercard(keys));
+ }
+
+ @Override
+ public long sintercard(int limit, byte[]... keys) {
+ return executeCommand(getCommandObjects().sintercard(limit, keys));
+ }
+
+ @Override
+ public Set sunion(byte[]... keys) {
+ return executeCommand(getCommandObjects().sunion(keys));
+ }
+
+ @Override
+ public long sunionstore(byte[] dstkey, byte[]... keys) {
+ return executeCommand(getCommandObjects().sunionstore(dstkey, keys));
+ }
+
+ @Override
+ public long smove(byte[] srckey, byte[] dstkey, byte[] member) {
+ return executeCommand(getCommandObjects().smove(srckey, dstkey, member));
+ }
+
+ // Sorted Set commands
+ @Override
+ public long zadd(String key, double score, String member) {
+ return executeCommand(getCommandObjects().zadd(key, score, member));
+ }
+
+ @Override
+ public long zadd(String key, double score, String member, ZAddParams params) {
+ return executeCommand(getCommandObjects().zadd(key, score, member, params));
+ }
+
+ @Override
+ public long zadd(String key, Map scoreMembers) {
+ return executeCommand(getCommandObjects().zadd(key, scoreMembers));
+ }
+
+ @Override
+ public long zadd(String key, Map scoreMembers, ZAddParams params) {
+ return executeCommand(getCommandObjects().zadd(key, scoreMembers, params));
+ }
+
+ @Override
+ public Double zaddIncr(String key, double score, String member, ZAddParams params) {
+ return executeCommand(getCommandObjects().zaddIncr(key, score, member, params));
+ }
+
+ @Override
+ public long zadd(byte[] key, double score, byte[] member) {
+ return executeCommand(getCommandObjects().zadd(key, score, member));
+ }
+
+ @Override
+ public long zadd(byte[] key, double score, byte[] member, ZAddParams params) {
+ return executeCommand(getCommandObjects().zadd(key, score, member, params));
+ }
+
+ @Override
+ public long zadd(byte[] key, Map scoreMembers) {
+ return executeCommand(getCommandObjects().zadd(key, scoreMembers));
+ }
+
+ @Override
+ public long zadd(byte[] key, Map scoreMembers, ZAddParams params) {
+ return executeCommand(getCommandObjects().zadd(key, scoreMembers, params));
+ }
+
+ @Override
+ public Double zaddIncr(byte[] key, double score, byte[] member, ZAddParams params) {
+ return executeCommand(getCommandObjects().zaddIncr(key, score, member, params));
+ }
+
+ @Override
+ public long zrem(String key, String... members) {
+ return executeCommand(getCommandObjects().zrem(key, members));
+ }
+
+ @Override
+ public double zincrby(String key, double increment, String member) {
+ return executeCommand(getCommandObjects().zincrby(key, increment, member));
+ }
+
+ @Override
+ public Double zincrby(String key, double increment, String member, ZIncrByParams params) {
+ return executeCommand(getCommandObjects().zincrby(key, increment, member, params));
+ }
+
+ @Override
+ public Long zrank(String key, String member) {
+ return executeCommand(getCommandObjects().zrank(key, member));
+ }
+
+ @Override
+ public Long zrevrank(String key, String member) {
+ return executeCommand(getCommandObjects().zrevrank(key, member));
+ }
+
+ @Override
+ public KeyValue zrankWithScore(String key, String member) {
+ return executeCommand(getCommandObjects().zrankWithScore(key, member));
+ }
+
+ @Override
+ public KeyValue zrevrankWithScore(String key, String member) {
+ return executeCommand(getCommandObjects().zrevrankWithScore(key, member));
+ }
+
+ @Override
+ public long zrem(byte[] key, byte[]... members) {
+ return executeCommand(getCommandObjects().zrem(key, members));
+ }
+
+ @Override
+ public double zincrby(byte[] key, double increment, byte[] member) {
+ return executeCommand(getCommandObjects().zincrby(key, increment, member));
+ }
+
+ @Override
+ public Double zincrby(byte[] key, double increment, byte[] member, ZIncrByParams params) {
+ return executeCommand(getCommandObjects().zincrby(key, increment, member, params));
+ }
+
+ @Override
+ public Long zrank(byte[] key, byte[] member) {
+ return executeCommand(getCommandObjects().zrank(key, member));
+ }
+
+ @Override
+ public Long zrevrank(byte[] key, byte[] member) {
+ return executeCommand(getCommandObjects().zrevrank(key, member));
+ }
+
+ @Override
+ public KeyValue zrankWithScore(byte[] key, byte[] member) {
+ return executeCommand(getCommandObjects().zrankWithScore(key, member));
+ }
+
+ @Override
+ public KeyValue zrevrankWithScore(byte[] key, byte[] member) {
+ return executeCommand(getCommandObjects().zrevrankWithScore(key, member));
+ }
+
+ @Override
+ public String zrandmember(String key) {
+ return executeCommand(getCommandObjects().zrandmember(key));
+ }
+
+ @Override
+ public List zrandmember(String key, long count) {
+ return executeCommand(getCommandObjects().zrandmember(key, count));
+ }
+
+ @Override
+ public List zrandmemberWithScores(String key, long count) {
+ return executeCommand(getCommandObjects().zrandmemberWithScores(key, count));
+ }
+
+ @Override
+ public long zcard(String key) {
+ return executeCommand(getCommandObjects().zcard(key));
+ }
+
+ @Override
+ public Double zscore(String key, String member) {
+ return executeCommand(getCommandObjects().zscore(key, member));
+ }
+
+ @Override
+ public List zmscore(String key, String... members) {
+ return executeCommand(getCommandObjects().zmscore(key, members));
+ }
+
+ @Override
+ public byte[] zrandmember(byte[] key) {
+ return executeCommand(getCommandObjects().zrandmember(key));
+ }
+
+ @Override
+ public List zrandmember(byte[] key, long count) {
+ return executeCommand(getCommandObjects().zrandmember(key, count));
+ }
+
+ @Override
+ public List zrandmemberWithScores(byte[] key, long count) {
+ return executeCommand(getCommandObjects().zrandmemberWithScores(key, count));
+ }
+
+ @Override
+ public long zcard(byte[] key) {
+ return executeCommand(getCommandObjects().zcard(key));
+ }
+
+ @Override
+ public Double zscore(byte[] key, byte[] member) {
+ return executeCommand(getCommandObjects().zscore(key, member));
+ }
+
+ @Override
+ public List zmscore(byte[] key, byte[]... members) {
+ return executeCommand(getCommandObjects().zmscore(key, members));
+ }
+
+ @Override
+ public Tuple zpopmax(String key) {
+ return executeCommand(getCommandObjects().zpopmax(key));
+ }
+
+ @Override
+ public List zpopmax(String key, int count) {
+ return executeCommand(getCommandObjects().zpopmax(key, count));
+ }
+
+ @Override
+ public Tuple zpopmin(String key) {
+ return executeCommand(getCommandObjects().zpopmin(key));
+ }
+
+ @Override
+ public List zpopmin(String key, int count) {
+ return executeCommand(getCommandObjects().zpopmin(key, count));
+ }
+
+ @Override
+ public long zcount(String key, double min, double max) {
+ return executeCommand(getCommandObjects().zcount(key, min, max));
+ }
+
+ @Override
+ public long zcount(String key, String min, String max) {
+ return executeCommand(getCommandObjects().zcount(key, min, max));
+ }
+
+ @Override
+ public Tuple zpopmax(byte[] key) {
+ return executeCommand(getCommandObjects().zpopmax(key));
+ }
+
+ @Override
+ public List zpopmax(byte[] key, int count) {
+ return executeCommand(getCommandObjects().zpopmax(key, count));
+ }
+
+ @Override
+ public Tuple zpopmin(byte[] key) {
+ return executeCommand(getCommandObjects().zpopmin(key));
+ }
+
+ @Override
+ public List zpopmin(byte[] key, int count) {
+ return executeCommand(getCommandObjects().zpopmin(key, count));
+ }
+
+ @Override
+ public long zcount(byte[] key, double min, double max) {
+ return executeCommand(getCommandObjects().zcount(key, min, max));
+ }
+
+ @Override
+ public long zcount(byte[] key, byte[] min, byte[] max) {
+ return executeCommand(getCommandObjects().zcount(key, min, max));
+ }
+
+ @Override
+ public List zrange(String key, long start, long stop) {
+ return executeCommand(getCommandObjects().zrange(key, start, stop));
+ }
+
+ @Override
+ public List zrevrange(String key, long start, long stop) {
+ return executeCommand(getCommandObjects().zrevrange(key, start, stop));
+ }
+
+ @Override
+ public List zrangeWithScores(String key, long start, long stop) {
+ return executeCommand(getCommandObjects().zrangeWithScores(key, start, stop));
+ }
+
+ @Override
+ public List zrevrangeWithScores(String key, long start, long stop) {
+ return executeCommand(getCommandObjects().zrevrangeWithScores(key, start, stop));
+ }
+
+ @Override
+ public List zrange(String key, ZRangeParams zRangeParams) {
+ return executeCommand(getCommandObjects().zrange(key, zRangeParams));
+ }
+
+ @Override
+ public List zrangeWithScores(String key, ZRangeParams zRangeParams) {
+ return executeCommand(getCommandObjects().zrangeWithScores(key, zRangeParams));
+ }
+
+ @Override
+ public long zrangestore(String dest, String src, ZRangeParams zRangeParams) {
+ return executeCommand(getCommandObjects().zrangestore(dest, src, zRangeParams));
+ }
+
+ @Override
+ public List zrangeByScore(String key, double min, double max) {
+ return executeCommand(getCommandObjects().zrangeByScore(key, min, max));
+ }
+
+ @Override
+ public List zrangeByScore(String key, String min, String max) {
+ return executeCommand(getCommandObjects().zrangeByScore(key, min, max));
+ }
+
+ @Override
+ public List zrevrangeByScore(String key, double max, double min) {
+ return executeCommand(getCommandObjects().zrevrangeByScore(key, max, min));
+ }
+
+ @Override
+ public List zrangeByScore(String key, double min, double max, int offset, int count) {
+ return executeCommand(getCommandObjects().zrangeByScore(key, min, max, offset, count));
+ }
+
+ @Override
+ public List zrevrangeByScore(String key, String max, String min) {
+ return executeCommand(getCommandObjects().zrevrangeByScore(key, max, min));
+ }
+
+ @Override
+ public List zrangeByScore(String key, String min, String max, int offset, int count) {
+ return executeCommand(getCommandObjects().zrangeByScore(key, min, max, offset, count));
+ }
+
+ @Override
+ public List zrevrangeByScore(String key, double max, double min, int offset, int count) {
+ return executeCommand(getCommandObjects().zrevrangeByScore(key, max, min, offset, count));
+ }
+
+ @Override
+ public List zrangeByScoreWithScores(String key, double min, double max) {
+ return executeCommand(getCommandObjects().zrangeByScoreWithScores(key, min, max));
+ }
+
+ @Override
+ public List zrevrangeByScoreWithScores(String key, double max, double min) {
+ return executeCommand(getCommandObjects().zrevrangeByScoreWithScores(key, max, min));
+ }
+
+ @Override
+ public List zrangeByScoreWithScores(String key, double min, double max, int offset,
+ int count) {
+ return executeCommand(
+ getCommandObjects().zrangeByScoreWithScores(key, min, max, offset, count));
+ }
+
+ @Override
+ public List zrevrangeByScore(String key, String max, String min, int offset, int count) {
+ return executeCommand(getCommandObjects().zrevrangeByScore(key, max, min, offset, count));
+ }
+
+ @Override
+ public List zrangeByScoreWithScores(String key, String min, String max) {
+ return executeCommand(getCommandObjects().zrangeByScoreWithScores(key, min, max));
+ }
+
+ @Override
+ public List zrevrangeByScoreWithScores(String key, String max, String min) {
+ return executeCommand(getCommandObjects().zrevrangeByScoreWithScores(key, max, min));
+ }
+
+ @Override
+ public List zrangeByScoreWithScores(String key, String min, String max, int offset,
+ int count) {
+ return executeCommand(
+ getCommandObjects().zrangeByScoreWithScores(key, min, max, offset, count));
+ }
+
+ @Override
+ public List zrevrangeByScoreWithScores(String key, double max, double min, int offset,
+ int count) {
+ return executeCommand(
+ getCommandObjects().zrevrangeByScoreWithScores(key, max, min, offset, count));
+ }
+
+ @Override
+ public List zrevrangeByScoreWithScores(String key, String max, String min, int offset,
+ int count) {
+ return executeCommand(
+ getCommandObjects().zrevrangeByScoreWithScores(key, max, min, offset, count));
+ }
+
+ @Override
+ public List zrange(byte[] key, long start, long stop) {
+ return executeCommand(getCommandObjects().zrange(key, start, stop));
+ }
+
+ @Override
+ public List zrevrange(byte[] key, long start, long stop) {
+ return executeCommand(getCommandObjects().zrevrange(key, start, stop));
+ }
+
+ @Override
+ public List zrangeWithScores(byte[] key, long start, long stop) {
+ return executeCommand(getCommandObjects().zrangeWithScores(key, start, stop));
+ }
+
+ @Override
+ public List zrevrangeWithScores(byte[] key, long start, long stop) {
+ return executeCommand(getCommandObjects().zrevrangeWithScores(key, start, stop));
+ }
+
+ @Override
+ public List zrange(byte[] key, ZRangeParams zRangeParams) {
+ return executeCommand(getCommandObjects().zrange(key, zRangeParams));
+ }
+
+ @Override
+ public List zrangeWithScores(byte[] key, ZRangeParams zRangeParams) {
+ return executeCommand(getCommandObjects().zrangeWithScores(key, zRangeParams));
+ }
+
+ @Override
+ public long zrangestore(byte[] dest, byte[] src, ZRangeParams zRangeParams) {
+ return executeCommand(getCommandObjects().zrangestore(dest, src, zRangeParams));
+ }
+
+ @Override
+ public List zrangeByScore(byte[] key, double min, double max) {
+ return executeCommand(getCommandObjects().zrangeByScore(key, min, max));
+ }
+
+ @Override
+ public List zrangeByScore(byte[] key, byte[] min, byte[] max) {
+ return executeCommand(getCommandObjects().zrangeByScore(key, min, max));
+ }
+
+ @Override
+ public List zrevrangeByScore(byte[] key, double max, double min) {
+ return executeCommand(getCommandObjects().zrevrangeByScore(key, max, min));
+ }
+
+ @Override
+ public List zrangeByScore(byte[] key, double min, double max, int offset, int count) {
+ return executeCommand(getCommandObjects().zrangeByScore(key, min, max, offset, count));
+ }
+
+ @Override
+ public List zrevrangeByScore(byte[] key, byte[] max, byte[] min) {
+ return executeCommand(getCommandObjects().zrevrangeByScore(key, max, min));
+ }
+
+ @Override
+ public List zrangeByScore(byte[] key, byte[] min, byte[] max, int offset, int count) {
+ return executeCommand(getCommandObjects().zrangeByScore(key, min, max, offset, count));
+ }
+
+ @Override
+ public List zrevrangeByScore(byte[] key, double max, double min, int offset, int count) {
+ return executeCommand(getCommandObjects().zrevrangeByScore(key, max, min, offset, count));
+ }
+
+ @Override
+ public List zrangeByScoreWithScores(byte[] key, double min, double max) {
+ return executeCommand(getCommandObjects().zrangeByScoreWithScores(key, min, max));
+ }
+
+ @Override
+ public List zrevrangeByScoreWithScores(byte[] key, double max, double min) {
+ return executeCommand(getCommandObjects().zrevrangeByScoreWithScores(key, max, min));
+ }
+
+ @Override
+ public List zrangeByScoreWithScores(byte[] key, double min, double max, int offset,
+ int count) {
+ return executeCommand(
+ getCommandObjects().zrangeByScoreWithScores(key, min, max, offset, count));
+ }
+
+ @Override
+ public List zrevrangeByScore(byte[] key, byte[] max, byte[] min, int offset, int count) {
+ return executeCommand(getCommandObjects().zrevrangeByScore(key, max, min, offset, count));
+ }
+
+ @Override
+ public List zrangeByScoreWithScores(byte[] key, byte[] min, byte[] max) {
+ return executeCommand(getCommandObjects().zrangeByScoreWithScores(key, min, max));
+ }
+
+ @Override
+ public List zrevrangeByScoreWithScores(byte[] key, byte[] max, byte[] min) {
+ return executeCommand(getCommandObjects().zrevrangeByScoreWithScores(key, max, min));
+ }
+
+ @Override
+ public List zrangeByScoreWithScores(byte[] key, byte[] min, byte[] max, int offset,
+ int count) {
+ return executeCommand(
+ getCommandObjects().zrangeByScoreWithScores(key, min, max, offset, count));
+ }
+
+ @Override
+ public List zrevrangeByScoreWithScores(byte[] key, double max, double min, int offset,
+ int count) {
+ return executeCommand(
+ getCommandObjects().zrevrangeByScoreWithScores(key, max, min, offset, count));
+ }
+
+ @Override
+ public List zrevrangeByScoreWithScores(byte[] key, byte[] max, byte[] min, int offset,
+ int count) {
+ return executeCommand(
+ getCommandObjects().zrevrangeByScoreWithScores(key, max, min, offset, count));
+ }
+
+ @Override
+ public long zremrangeByRank(String key, long start, long stop) {
+ return executeCommand(getCommandObjects().zremrangeByRank(key, start, stop));
+ }
+
+ @Override
+ public long zremrangeByScore(String key, double min, double max) {
+ return executeCommand(getCommandObjects().zremrangeByScore(key, min, max));
+ }
+
+ @Override
+ public long zremrangeByScore(String key, String min, String max) {
+ return executeCommand(getCommandObjects().zremrangeByScore(key, min, max));
+ }
+
+ @Override
+ public long zremrangeByRank(byte[] key, long start, long stop) {
+ return executeCommand(getCommandObjects().zremrangeByRank(key, start, stop));
+ }
+
+ @Override
+ public long zremrangeByScore(byte[] key, double min, double max) {
+ return executeCommand(getCommandObjects().zremrangeByScore(key, min, max));
+ }
+
+ @Override
+ public long zremrangeByScore(byte[] key, byte[] min, byte[] max) {
+ return executeCommand(getCommandObjects().zremrangeByScore(key, min, max));
+ }
+
+ @Override
+ public long zlexcount(String key, String min, String max) {
+ return executeCommand(getCommandObjects().zlexcount(key, min, max));
+ }
+
+ @Override
+ public List zrangeByLex(String key, String min, String max) {
+ return executeCommand(getCommandObjects().zrangeByLex(key, min, max));
+ }
+
+ @Override
+ public List zrangeByLex(String key, String min, String max, int offset, int count) {
+ return executeCommand(getCommandObjects().zrangeByLex(key, min, max, offset, count));
+ }
+
+ @Override
+ public List zrevrangeByLex(String key, String max, String min) {
+ return executeCommand(getCommandObjects().zrevrangeByLex(key, max, min));
+ }
+
+ @Override
+ public List zrevrangeByLex(String key, String max, String min, int offset, int count) {
+ return executeCommand(getCommandObjects().zrevrangeByLex(key, max, min, offset, count));
+ }
+
+ @Override
+ public long zremrangeByLex(String key, String min, String max) {
+ return executeCommand(getCommandObjects().zremrangeByLex(key, min, max));
+ }
+
+ @Override
+ public long zlexcount(byte[] key, byte[] min, byte[] max) {
+ return executeCommand(getCommandObjects().zlexcount(key, min, max));
+ }
+
+ @Override
+ public List zrangeByLex(byte[] key, byte[] min, byte[] max) {
+ return executeCommand(getCommandObjects().zrangeByLex(key, min, max));
+ }
+
+ @Override
+ public List zrangeByLex(byte[] key, byte[] min, byte[] max, int offset, int count) {
+ return executeCommand(getCommandObjects().zrangeByLex(key, min, max, offset, count));
+ }
+
+ @Override
+ public List zrevrangeByLex(byte[] key, byte[] max, byte[] min) {
+ return executeCommand(getCommandObjects().zrevrangeByLex(key, max, min));
+ }
+
+ @Override
+ public List zrevrangeByLex(byte[] key, byte[] max, byte[] min, int offset, int count) {
+ return executeCommand(getCommandObjects().zrevrangeByLex(key, max, min, offset, count));
+ }
+
+ @Override
+ public long zremrangeByLex(byte[] key, byte[] min, byte[] max) {
+ return executeCommand(getCommandObjects().zremrangeByLex(key, min, max));
+ }
+
+ @Override
+ public ScanResult zscan(String key, String cursor, ScanParams params) {
+ return executeCommand(getCommandObjects().zscan(key, cursor, params));
+ }
+
+ @Override
+ public ScanResult zscan(byte[] key, byte[] cursor, ScanParams params) {
+ return executeCommand(getCommandObjects().zscan(key, cursor, params));
+ }
+
+ @Override
+ public KeyValue bzpopmax(double timeout, String... keys) {
+ return executeCommand(getCommandObjects().bzpopmax(timeout, keys));
+ }
+
+ @Override
+ public KeyValue bzpopmin(double timeout, String... keys) {
+ return executeCommand(getCommandObjects().bzpopmin(timeout, keys));
+ }
+
+ @Override
+ public KeyValue bzpopmax(double timeout, byte[]... keys) {
+ return executeCommand(getCommandObjects().bzpopmax(timeout, keys));
+ }
+
+ @Override
+ public KeyValue bzpopmin(double timeout, byte[]... keys) {
+ return executeCommand(getCommandObjects().bzpopmin(timeout, keys));
+ }
+
+ @Override
+ public List zdiff(String... keys) {
+ return executeCommand(getCommandObjects().zdiff(keys));
+ }
+
+ @Override
+ public List zdiffWithScores(String... keys) {
+ return executeCommand(getCommandObjects().zdiffWithScores(keys));
+ }
+
+ @Override
+ public long zdiffstore(String dstkey, String... keys) {
+ return executeCommand(getCommandObjects().zdiffstore(dstkey, keys));
+ }
+
+ @Override
+ public List zdiff(byte[]... keys) {
+ return executeCommand(getCommandObjects().zdiff(keys));
+ }
+
+ @Override
+ public List zdiffWithScores(byte[]... keys) {
+ return executeCommand(getCommandObjects().zdiffWithScores(keys));
+ }
+
+ @Override
+ public long zdiffstore(byte[] dstkey, byte[]... keys) {
+ return executeCommand(getCommandObjects().zdiffstore(dstkey, keys));
+ }
+
+ @Override
+ public long zinterstore(String dstkey, String... sets) {
+ return executeCommand(getCommandObjects().zinterstore(dstkey, sets));
+ }
+
+ @Override
+ public long zinterstore(String dstkey, ZParams params, String... sets) {
+ return executeCommand(getCommandObjects().zinterstore(dstkey, params, sets));
+ }
+
+ @Override
+ public List zinter(ZParams params, String... keys) {
+ return executeCommand(getCommandObjects().zinter(params, keys));
+ }
+
+ @Override
+ public List zinterWithScores(ZParams params, String... keys) {
+ return executeCommand(getCommandObjects().zinterWithScores(params, keys));
+ }
+
+ @Override
+ public long zinterstore(byte[] dstkey, byte[]... sets) {
+ return executeCommand(getCommandObjects().zinterstore(dstkey, sets));
+ }
+
+ @Override
+ public long zinterstore(byte[] dstkey, ZParams params, byte[]... sets) {
+ return executeCommand(getCommandObjects().zinterstore(dstkey, params, sets));
+ }
+
+ @Override
+ public long zintercard(byte[]... keys) {
+ return executeCommand(getCommandObjects().zintercard(keys));
+ }
+
+ @Override
+ public long zintercard(long limit, byte[]... keys) {
+ return executeCommand(getCommandObjects().zintercard(limit, keys));
+ }
+
+ @Override
+ public long zintercard(String... keys) {
+ return executeCommand(getCommandObjects().zintercard(keys));
+ }
+
+ @Override
+ public long zintercard(long limit, String... keys) {
+ return executeCommand(getCommandObjects().zintercard(limit, keys));
+ }
+
+ @Override
+ public List zinter(ZParams params, byte[]... keys) {
+ return executeCommand(getCommandObjects().zinter(params, keys));
+ }
+
+ @Override
+ public List zinterWithScores(ZParams params, byte[]... keys) {
+ return executeCommand(getCommandObjects().zinterWithScores(params, keys));
+ }
+
+ @Override
+ public List zunion(ZParams params, String... keys) {
+ return executeCommand(getCommandObjects().zunion(params, keys));
+ }
+
+ @Override
+ public List zunionWithScores(ZParams params, String... keys) {
+ return executeCommand(getCommandObjects().zunionWithScores(params, keys));
+ }
+
+ @Override
+ public long zunionstore(String dstkey, String... sets) {
+ return executeCommand(getCommandObjects().zunionstore(dstkey, sets));
+ }
+
+ @Override
+ public long zunionstore(String dstkey, ZParams params, String... sets) {
+ return executeCommand(getCommandObjects().zunionstore(dstkey, params, sets));
+ }
+
+ @Override
+ public List zunion(ZParams params, byte[]... keys) {
+ return executeCommand(getCommandObjects().zunion(params, keys));
+ }
+
+ @Override
+ public List zunionWithScores(ZParams params, byte[]... keys) {
+ return executeCommand(getCommandObjects().zunionWithScores(params, keys));
+ }
+
+ @Override
+ public long zunionstore(byte[] dstkey, byte[]... sets) {
+ return executeCommand(getCommandObjects().zunionstore(dstkey, sets));
+ }
+
+ @Override
+ public long zunionstore(byte[] dstkey, ZParams params, byte[]... sets) {
+ return executeCommand(getCommandObjects().zunionstore(dstkey, params, sets));
+ }
+
+ @Override
+ public KeyValue> zmpop(SortedSetOption option, String... keys) {
+ return executeCommand(getCommandObjects().zmpop(option, keys));
+ }
+
+ @Override
+ public KeyValue> zmpop(SortedSetOption option, int count, String... keys) {
+ return executeCommand(getCommandObjects().zmpop(option, count, keys));
+ }
+
+ @Override
+ public KeyValue> bzmpop(double timeout, SortedSetOption option,
+ String... keys) {
+ return executeCommand(getCommandObjects().bzmpop(timeout, option, keys));
+ }
+
+ @Override
+ public KeyValue> bzmpop(double timeout, SortedSetOption option, int count,
+ String... keys) {
+ return executeCommand(getCommandObjects().bzmpop(timeout, option, count, keys));
+ }
+
+ @Override
+ public KeyValue> zmpop(SortedSetOption option, byte[]... keys) {
+ return executeCommand(getCommandObjects().zmpop(option, keys));
+ }
+
+ @Override
+ public KeyValue> zmpop(SortedSetOption option, int count, byte[]... keys) {
+ return executeCommand(getCommandObjects().zmpop(option, count, keys));
+ }
+
+ @Override
+ public KeyValue> bzmpop(double timeout, SortedSetOption option,
+ byte[]... keys) {
+ return executeCommand(getCommandObjects().bzmpop(timeout, option, keys));
+ }
+
+ @Override
+ public KeyValue> bzmpop(double timeout, SortedSetOption option, int count,
+ byte[]... keys) {
+ return executeCommand(getCommandObjects().bzmpop(timeout, option, count, keys));
+ }
+
+ // Geo commands
+ @Override
+ public long geoadd(String key, double longitude, double latitude, String member) {
+ return executeCommand(getCommandObjects().geoadd(key, longitude, latitude, member));
+ }
+
+ @Override
+ public long geoadd(String key, Map memberCoordinateMap) {
+ return executeCommand(getCommandObjects().geoadd(key, memberCoordinateMap));
+ }
+
+ @Override
+ public long geoadd(String key, GeoAddParams params,
+ Map memberCoordinateMap) {
+ return executeCommand(getCommandObjects().geoadd(key, params, memberCoordinateMap));
+ }
+
+ @Override
+ public Double geodist(String key, String member1, String member2) {
+ return executeCommand(getCommandObjects().geodist(key, member1, member2));
+ }
+
+ @Override
+ public Double geodist(String key, String member1, String member2, GeoUnit unit) {
+ return executeCommand(getCommandObjects().geodist(key, member1, member2, unit));
+ }
+
+ @Override
+ public List geohash(String key, String... members) {
+ return executeCommand(getCommandObjects().geohash(key, members));
+ }
+
+ @Override
+ public List geopos(String key, String... members) {
+ return executeCommand(getCommandObjects().geopos(key, members));
+ }
+
+ @Override
+ public long geoadd(byte[] key, double longitude, double latitude, byte[] member) {
+ return executeCommand(getCommandObjects().geoadd(key, longitude, latitude, member));
+ }
+
+ @Override
+ public long geoadd(byte[] key, Map memberCoordinateMap) {
+ return executeCommand(getCommandObjects().geoadd(key, memberCoordinateMap));
+ }
+
+ @Override
+ public long geoadd(byte[] key, GeoAddParams params,
+ Map memberCoordinateMap) {
+ return executeCommand(getCommandObjects().geoadd(key, params, memberCoordinateMap));
+ }
+
+ @Override
+ public Double geodist(byte[] key, byte[] member1, byte[] member2) {
+ return executeCommand(getCommandObjects().geodist(key, member1, member2));
+ }
+
+ @Override
+ public Double geodist(byte[] key, byte[] member1, byte[] member2, GeoUnit unit) {
+ return executeCommand(getCommandObjects().geodist(key, member1, member2, unit));
+ }
+
+ @Override
+ public List geohash(byte[] key, byte[]... members) {
+ return executeCommand(getCommandObjects().geohash(key, members));
+ }
+
+ @Override
+ public List geopos(byte[] key, byte[]... members) {
+ return executeCommand(getCommandObjects().geopos(key, members));
+ }
+
+ @Override
+ public List georadius(String key, double longitude, double latitude,
+ double radius, GeoUnit unit) {
+ return executeCommand(getCommandObjects().georadius(key, longitude, latitude, radius, unit));
+ }
+
+ @Override
+ public List georadiusReadonly(String key, double longitude, double latitude,
+ double radius, GeoUnit unit) {
+ return executeCommand(
+ getCommandObjects().georadiusReadonly(key, longitude, latitude, radius, unit));
+ }
+
+ @Override
+ public List georadius(String key, double longitude, double latitude,
+ double radius, GeoUnit unit, GeoRadiusParam param) {
+ return executeCommand(
+ getCommandObjects().georadius(key, longitude, latitude, radius, unit, param));
+ }
+
+ @Override
+ public List georadiusReadonly(String key, double longitude, double latitude,
+ double radius, GeoUnit unit, GeoRadiusParam param) {
+ return executeCommand(
+ getCommandObjects().georadiusReadonly(key, longitude, latitude, radius, unit, param));
+ }
+
+ @Override
+ public List georadiusByMember(String key, String member, double radius,
+ GeoUnit unit) {
+ return executeCommand(getCommandObjects().georadiusByMember(key, member, radius, unit));
+ }
+
+ @Override
+ public List georadiusByMemberReadonly(String key, String member, double radius,
+ GeoUnit unit) {
+ return executeCommand(getCommandObjects().georadiusByMemberReadonly(key, member, radius, unit));
+ }
+
+ @Override
+ public List georadiusByMember(String key, String member, double radius,
+ GeoUnit unit, GeoRadiusParam param) {
+ return executeCommand(getCommandObjects().georadiusByMember(key, member, radius, unit, param));
+ }
+
+ @Override
+ public List georadiusByMemberReadonly(String key, String member, double radius,
+ GeoUnit unit, GeoRadiusParam param) {
+ return executeCommand(
+ getCommandObjects().georadiusByMemberReadonly(key, member, radius, unit, param));
+ }
+
+ @Override
+ public long georadiusStore(String key, double longitude, double latitude, double radius,
+ GeoUnit unit, GeoRadiusParam param, GeoRadiusStoreParam storeParam) {
+ return executeCommand(getCommandObjects().georadiusStore(key, longitude, latitude, radius, unit,
+ param, storeParam));
+ }
+
+ @Override
+ public long georadiusByMemberStore(String key, String member, double radius, GeoUnit unit,
+ GeoRadiusParam param, GeoRadiusStoreParam storeParam) {
+ return executeCommand(
+ getCommandObjects().georadiusByMemberStore(key, member, radius, unit, param, storeParam));
+ }
+
+ @Override
+ public List geosearch(String key, String member, double radius, GeoUnit unit) {
+ return executeCommand(getCommandObjects().geosearch(key, member, radius, unit));
+ }
+
+ @Override
+ public List geosearch(String key, GeoCoordinate coord, double radius,
+ GeoUnit unit) {
+ return executeCommand(getCommandObjects().geosearch(key, coord, radius, unit));
+ }
+
+ @Override
+ public List geosearch(String key, String member, double width, double height,
+ GeoUnit unit) {
+ return executeCommand(getCommandObjects().geosearch(key, member, width, height, unit));
+ }
+
+ @Override
+ public List geosearch(String key, GeoCoordinate coord, double width,
+ double height, GeoUnit unit) {
+ return executeCommand(getCommandObjects().geosearch(key, coord, width, height, unit));
+ }
+
+ @Override
+ public List geosearch(String key, GeoSearchParam params) {
+ return executeCommand(getCommandObjects().geosearch(key, params));
+ }
+
+ @Override
+ public long geosearchStore(String dest, String src, String member, double radius, GeoUnit unit) {
+ return executeCommand(getCommandObjects().geosearchStore(dest, src, member, radius, unit));
+ }
+
+ @Override
+ public long geosearchStore(String dest, String src, GeoCoordinate coord, double radius,
+ GeoUnit unit) {
+ return executeCommand(getCommandObjects().geosearchStore(dest, src, coord, radius, unit));
+ }
+
+ @Override
+ public long geosearchStore(String dest, String src, String member, double width, double height,
+ GeoUnit unit) {
+ return executeCommand(
+ getCommandObjects().geosearchStore(dest, src, member, width, height, unit));
+ }
+
+ @Override
+ public long geosearchStore(String dest, String src, GeoCoordinate coord, double width,
+ double height, GeoUnit unit) {
+ return executeCommand(
+ getCommandObjects().geosearchStore(dest, src, coord, width, height, unit));
+ }
+
+ @Override
+ public long geosearchStore(String dest, String src, GeoSearchParam params) {
+ return executeCommand(getCommandObjects().geosearchStore(dest, src, params));
+ }
+
+ @Override
+ public long geosearchStoreStoreDist(String dest, String src, GeoSearchParam params) {
+ return executeCommand(getCommandObjects().geosearchStoreStoreDist(dest, src, params));
+ }
+
+ @Override
+ public List georadius(byte[] key, double longitude, double latitude,
+ double radius, GeoUnit unit) {
+ return executeCommand(getCommandObjects().georadius(key, longitude, latitude, radius, unit));
+ }
+
+ @Override
+ public List georadiusReadonly(byte[] key, double longitude, double latitude,
+ double radius, GeoUnit unit) {
+ return executeCommand(
+ getCommandObjects().georadiusReadonly(key, longitude, latitude, radius, unit));
+ }
+
+ @Override
+ public List georadius(byte[] key, double longitude, double latitude,
+ double radius, GeoUnit unit, GeoRadiusParam param) {
+ return executeCommand(
+ getCommandObjects().georadius(key, longitude, latitude, radius, unit, param));
+ }
+
+ @Override
+ public List georadiusReadonly(byte[] key, double longitude, double latitude,
+ double radius, GeoUnit unit, GeoRadiusParam param) {
+ return executeCommand(
+ getCommandObjects().georadiusReadonly(key, longitude, latitude, radius, unit, param));
+ }
+
+ @Override
+ public List georadiusByMember(byte[] key, byte[] member, double radius,
+ GeoUnit unit) {
+ return executeCommand(getCommandObjects().georadiusByMember(key, member, radius, unit));
+ }
+
+ @Override
+ public List georadiusByMemberReadonly(byte[] key, byte[] member, double radius,
+ GeoUnit unit) {
+ return executeCommand(getCommandObjects().georadiusByMemberReadonly(key, member, radius, unit));
+ }
+
+ @Override
+ public List