From 6b5fccdc0ad69742b171d25515a0a9a630ac4635 Mon Sep 17 00:00:00 2001 From: samhendley Date: Thu, 10 Jan 2013 02:29:39 -0500 Subject: [PATCH] refactored pipelinebase so it is usable to implement SharedJedisPipeline as well. --- .../clients/jedis/MultiKeyPipelineBase.java | 370 +++++ .../java/redis/clients/jedis/Pipeline.java | 10 +- .../redis/clients/jedis/PipelineBase.java | 740 +++------- .../clients/jedis/ShardedJedisPipeline.java | 1302 +---------------- .../java/redis/clients/jedis/Transaction.java | 12 +- .../redis/clients/jedis/TransactionBlock.java | 2 +- 6 files changed, 597 insertions(+), 1839 deletions(-) create mode 100644 src/main/java/redis/clients/jedis/MultiKeyPipelineBase.java diff --git a/src/main/java/redis/clients/jedis/MultiKeyPipelineBase.java b/src/main/java/redis/clients/jedis/MultiKeyPipelineBase.java new file mode 100644 index 0000000..ccf0dfd --- /dev/null +++ b/src/main/java/redis/clients/jedis/MultiKeyPipelineBase.java @@ -0,0 +1,370 @@ +package redis.clients.jedis; + +import java.util.List; +import java.util.Set; + +abstract class MultiKeyPipelineBase extends PipelineBase implements + BasicRedisPipeline, + MultiKeyBinaryRedisPipeline, + MultiKeyCommandsPipeline { + + protected Client client = null; + + public Response> brpop(String... args) { + client.brpop(args); + return getResponse(BuilderFactory.STRING_LIST); + } + + public Response> blpop(String... args) { + client.blpop(args); + return getResponse(BuilderFactory.STRING_LIST); + } + + public Response> brpop(byte[]... args) { + client.brpop(args); + return getResponse(BuilderFactory.BYTE_ARRAY_LIST); + } + + public Response> blpop(byte[]... args) { + client.blpop(args); + return getResponse(BuilderFactory.BYTE_ARRAY_LIST); + } + + public Response del(String... keys) { + client.del(keys); + return getResponse(BuilderFactory.LONG); + } + + public Response del(byte[]... keys) { + client.del(keys); + return getResponse(BuilderFactory.LONG); + } + + public Response> keys(String pattern) { + getClient(pattern).keys(pattern); + return getResponse(BuilderFactory.STRING_SET); + } + + public Response> keys(byte[] pattern) { + getClient(pattern).keys(pattern); + return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); + } + + public Response> mget(String... keys) { + client.mget(keys); + return getResponse(BuilderFactory.STRING_LIST); + } + + public Response> mget(byte[]... keys) { + client.mget(keys); + return getResponse(BuilderFactory.BYTE_ARRAY_LIST); + } + + public Response mset(String... keysvalues) { + client.mset(keysvalues); + return getResponse(BuilderFactory.STRING); + } + + public Response mset(byte[]... keysvalues) { + client.mset(keysvalues); + return getResponse(BuilderFactory.STRING); + } + + public Response msetnx(String... keysvalues) { + client.msetnx(keysvalues); + return getResponse(BuilderFactory.LONG); + } + + public Response msetnx(byte[]... keysvalues) { + client.msetnx(keysvalues); + return getResponse(BuilderFactory.LONG); + } + + public Response rename(String oldkey, String newkey) { + client.rename(oldkey, newkey); + return getResponse(BuilderFactory.STRING); + } + + public Response rename(byte[] oldkey, byte[] newkey) { + client.rename(oldkey, newkey); + return getResponse(BuilderFactory.STRING); + } + + public Response renamenx(String oldkey, String newkey) { + client.renamenx(oldkey, newkey); + return getResponse(BuilderFactory.LONG); + } + + public Response renamenx(byte[] oldkey, byte[] newkey) { + client.renamenx(oldkey, newkey); + return getResponse(BuilderFactory.LONG); + } + + public Response rpoplpush(String srckey, String dstkey) { + client.rpoplpush(srckey, dstkey); + return getResponse(BuilderFactory.STRING); + } + + public Response rpoplpush(byte[] srckey, byte[] dstkey) { + client.rpoplpush(srckey, dstkey); + return getResponse(BuilderFactory.BYTE_ARRAY); + } + + public Response> sdiff(String... keys) { + client.sdiff(keys); + return getResponse(BuilderFactory.STRING_SET); + } + + public Response> sdiff(byte[]... keys) { + client.sdiff(keys); + return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); + } + + public Response sdiffstore(String dstkey, String... keys) { + client.sdiffstore(dstkey, keys); + return getResponse(BuilderFactory.LONG); + } + + public Response sdiffstore(byte[] dstkey, byte[]... keys) { + client.sdiffstore(dstkey, keys); + return getResponse(BuilderFactory.LONG); + } + + public Response> sinter(String... keys) { + client.sinter(keys); + return getResponse(BuilderFactory.STRING_SET); + } + + public Response> sinter(byte[]... keys) { + client.sinter(keys); + return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); + } + + public Response sinterstore(String dstkey, String... keys) { + client.sinterstore(dstkey, keys); + return getResponse(BuilderFactory.LONG); + } + + public Response sinterstore(byte[] dstkey, byte[]... keys) { + client.sinterstore(dstkey, keys); + return getResponse(BuilderFactory.LONG); + } + + public Response smove(String srckey, String dstkey, String member) { + client.smove(srckey, dstkey, member); + return getResponse(BuilderFactory.LONG); + } + + public Response smove(byte[] srckey, byte[] dstkey, byte[] member) { + client.smove(srckey, dstkey, member); + return getResponse(BuilderFactory.LONG); + } + + public Response> sort(String key, + SortingParams sortingParameters, String dstkey) { + client.sort(key, sortingParameters, dstkey); + return getResponse(BuilderFactory.STRING_LIST); + } + + public Response> sort(byte[] key, + SortingParams sortingParameters, byte[] dstkey) { + client.sort(key, sortingParameters, dstkey); + return getResponse(BuilderFactory.BYTE_ARRAY_LIST); + } + + public Response> sort(String key, String dstkey) { + client.sort(key, dstkey); + return getResponse(BuilderFactory.STRING_LIST); + } + + public Response> sort(byte[] key, byte[] dstkey) { + client.sort(key, dstkey); + return getResponse(BuilderFactory.BYTE_ARRAY_LIST); + } + + public Response> sunion(String... keys) { + client.sunion(keys); + return getResponse(BuilderFactory.STRING_SET); + } + + public Response> sunion(byte[]... keys) { + client.sunion(keys); + return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); + } + + public Response sunionstore(String dstkey, String... keys) { + client.sunionstore(dstkey, keys); + return getResponse(BuilderFactory.LONG); + } + + public Response sunionstore(byte[] dstkey, byte[]... keys) { + client.sunionstore(dstkey, keys); + return getResponse(BuilderFactory.LONG); + } + + public Response watch(String... keys) { + client.watch(keys); + return getResponse(BuilderFactory.STRING); + } + + public Response watch(byte[]... keys) { + client.watch(keys); + return getResponse(BuilderFactory.STRING); + } + + public Response zinterstore(String dstkey, String... sets) { + client.zinterstore(dstkey, sets); + return getResponse(BuilderFactory.LONG); + } + + public Response zinterstore(byte[] dstkey, byte[]... sets) { + client.zinterstore(dstkey, sets); + return getResponse(BuilderFactory.LONG); + } + + public Response zinterstore(String dstkey, ZParams params, + String... sets) { + client.zinterstore(dstkey, params, sets); + return getResponse(BuilderFactory.LONG); + } + + public Response zinterstore(byte[] dstkey, ZParams params, + byte[]... sets) { + client.zinterstore(dstkey, params, sets); + return getResponse(BuilderFactory.LONG); + } + + public Response zunionstore(String dstkey, String... sets) { + client.zunionstore(dstkey, sets); + return getResponse(BuilderFactory.LONG); + } + + public Response zunionstore(byte[] dstkey, byte[]... sets) { + client.zunionstore(dstkey, sets); + return getResponse(BuilderFactory.LONG); + } + + public Response zunionstore(String dstkey, ZParams params, + String... sets) { + client.zunionstore(dstkey, params, sets); + return getResponse(BuilderFactory.LONG); + } + + public Response zunionstore(byte[] dstkey, ZParams params, + byte[]... sets) { + client.zunionstore(dstkey, params, sets); + return getResponse(BuilderFactory.LONG); + } + + public Response bgrewriteaof() { + client.bgrewriteaof(); + return getResponse(BuilderFactory.STRING); + } + + public Response bgsave() { + client.bgsave(); + return getResponse(BuilderFactory.STRING); + } + + public Response configGet(String pattern) { + client.configGet(pattern); + return getResponse(BuilderFactory.STRING); + } + + public Response configSet(String parameter, String value) { + client.configSet(parameter, value); + return getResponse(BuilderFactory.STRING); + } + + public Response brpoplpush(String source, String destination, + int timeout) { + client.brpoplpush(source, destination, timeout); + return getResponse(BuilderFactory.STRING); + } + + public Response brpoplpush(byte[] source, byte[] destination, + int timeout) { + client.brpoplpush(source, destination, timeout); + return getResponse(BuilderFactory.BYTE_ARRAY); + } + + public Response configResetStat() { + client.configResetStat(); + return getResponse(BuilderFactory.STRING); + } + + public Response save() { + client.save(); + return getResponse(BuilderFactory.STRING); + } + + public Response lastsave() { + client.lastsave(); + return getResponse(BuilderFactory.LONG); + } + + public Response publish(String channel, String message) { + client.publish(channel, message); + return getResponse(BuilderFactory.LONG); + } + + public Response publish(byte[] channel, byte[] message) { + client.publish(channel, message); + return getResponse(BuilderFactory.LONG); + } + + public Response randomKey() { + client.randomKey(); + return getResponse(BuilderFactory.STRING); + } + + public Response randomKeyBinary() { + client.randomKey(); + return getResponse(BuilderFactory.BYTE_ARRAY); + } + + public Response flushDB() { + client.flushDB(); + return getResponse(BuilderFactory.STRING); + } + + public Response flushAll() { + client.flushAll(); + return getResponse(BuilderFactory.STRING); + } + + public Response info() { + client.info(); + return getResponse(BuilderFactory.STRING); + } + + public Response dbSize() { + client.dbSize(); + return getResponse(BuilderFactory.LONG); + } + + public Response shutdown() { + client.shutdown(); + return getResponse(BuilderFactory.STRING); + } + + public Response ping() { + client.ping(); + return getResponse(BuilderFactory.STRING); + } + + public Response select(int index) { + client.select(index); + return getResponse(BuilderFactory.STRING); + } + + public Response bitop(BitOP op, byte[] destKey, byte[]... srcKeys) { + client.bitop(op, destKey, srcKeys); + return getResponse(BuilderFactory.LONG); + } + + public Response bitop(BitOP op, String destKey, String... srcKeys) { + client.bitop(op, destKey, srcKeys); + return getResponse(BuilderFactory.LONG); + } +} diff --git a/src/main/java/redis/clients/jedis/Pipeline.java b/src/main/java/redis/clients/jedis/Pipeline.java index cf61066..ee680eb 100755 --- a/src/main/java/redis/clients/jedis/Pipeline.java +++ b/src/main/java/redis/clients/jedis/Pipeline.java @@ -5,7 +5,7 @@ import redis.clients.jedis.exceptions.JedisDataException; import java.util.ArrayList; import java.util.List; -public class Pipeline extends PipelineBase { +public class Pipeline extends MultiKeyPipelineBase { private MultiResponseBuilder currentMulti; @@ -53,7 +53,15 @@ public class Pipeline extends PipelineBase { this.client = client; } + @Override + protected Client getClient(byte[] key) { + return client; + } + @Override + protected Client getClient(String key) { + return client; + } /** * Syncronize pipeline by reading all responses. This operation close the diff --git a/src/main/java/redis/clients/jedis/PipelineBase.java b/src/main/java/redis/clients/jedis/PipelineBase.java index b8fdefd..2af0899 100644 --- a/src/main/java/redis/clients/jedis/PipelineBase.java +++ b/src/main/java/redis/clients/jedis/PipelineBase.java @@ -1,924 +1,707 @@ package redis.clients.jedis; -import static redis.clients.jedis.Protocol.toByteArray; +import redis.clients.jedis.BinaryClient.LIST_POSITION; -import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.Set; -import redis.clients.jedis.BinaryClient.LIST_POSITION; -import redis.clients.jedis.exceptions.JedisDataException; +import static redis.clients.jedis.Protocol.toByteArray; abstract class PipelineBase extends Queable implements - BasicRedisPipeline, BinaryRedisPipeline, - RedisPipeline, - MultiKeyBinaryRedisPipeline, - MultiKeyCommandsPipeline { - - protected Client client; + RedisPipeline { + + protected abstract Client getClient(String key); + + protected abstract Client getClient(byte[] key); public Response append(String key, String value) { - client.append(key, value); + getClient(key).append(key, value); return getResponse(BuilderFactory.LONG); } public Response append(byte[] key, byte[] value) { - client.append(key, value); + getClient(key).append(key, value); return getResponse(BuilderFactory.LONG); } - public Response> blpop(String arg) { + public Response> blpop(String key) { String[] temp = new String[1]; - temp[0] = arg; - client.blpop(temp); + temp[0] = key; + getClient(key).blpop(temp); return getResponse(BuilderFactory.STRING_LIST); } - public Response> brpop(String arg) { + public Response> brpop(String key) { String[] temp = new String[1]; - temp[0] = arg; - client.brpop(temp); + temp[0] = key; + getClient(key).brpop(temp); return getResponse(BuilderFactory.STRING_LIST); } - public Response> blpop(byte[] arg) { + public Response> blpop(byte[] key) { byte[][] temp = new byte[1][]; - temp[0] = arg; - client.blpop(temp); + temp[0] = key; + getClient(key).blpop(temp); return getResponse(BuilderFactory.BYTE_ARRAY_LIST); } - public Response> brpop(byte[] arg) { + public Response> brpop(byte[] key) { byte[][] temp = new byte[1][]; - temp[0] = arg; - client.brpop(temp); - return getResponse(BuilderFactory.BYTE_ARRAY_LIST); - } - - public Response> blpop(String... args) { - client.blpop(args); - return getResponse(BuilderFactory.STRING_LIST); - } - - public Response> blpop(byte[]... args) { - client.blpop(args); - return getResponse(BuilderFactory.BYTE_ARRAY_LIST); - } - - public Response> brpop(String... args) { - client.brpop(args); - return getResponse(BuilderFactory.STRING_LIST); - } - - public Response> brpop(byte[]... args) { - client.brpop(args); + temp[0] = key; + getClient(key).brpop(temp); return getResponse(BuilderFactory.BYTE_ARRAY_LIST); } public Response decr(String key) { - client.decr(key); + getClient(key).decr(key); return getResponse(BuilderFactory.LONG); } public Response decr(byte[] key) { - client.decr(key); + getClient(key).decr(key); return getResponse(BuilderFactory.LONG); } public Response decrBy(String key, long integer) { - client.decrBy(key, integer); + getClient(key).decrBy(key, integer); return getResponse(BuilderFactory.LONG); } public Response decrBy(byte[] key, long integer) { - client.decrBy(key, integer); + getClient(key).decrBy(key, integer); return getResponse(BuilderFactory.LONG); } public Response del(String key) { - client.del(key); - return getResponse(BuilderFactory.LONG); - } - - public Response del(String... keys) { - client.del(keys); + getClient(key).del(key); return getResponse(BuilderFactory.LONG); } public Response del(byte[] key) { - client.del(key); - return getResponse(BuilderFactory.LONG); - } - - public Response del(byte[]... keys) { - client.del(keys); + getClient(key).del(key); return getResponse(BuilderFactory.LONG); } public Response echo(String string) { - client.echo(string); + getClient(string).echo(string); return getResponse(BuilderFactory.STRING); } public Response echo(byte[] string) { - client.echo(string); + getClient(string).echo(string); return getResponse(BuilderFactory.BYTE_ARRAY); } public Response exists(String key) { - client.exists(key); + getClient(key).exists(key); return getResponse(BuilderFactory.BOOLEAN); } public Response exists(byte[] key) { - client.exists(key); + getClient(key).exists(key); return getResponse(BuilderFactory.BOOLEAN); } public Response expire(String key, int seconds) { - client.expire(key, seconds); + getClient(key).expire(key, seconds); return getResponse(BuilderFactory.LONG); } public Response expire(byte[] key, int seconds) { - client.expire(key, seconds); + getClient(key).expire(key, seconds); return getResponse(BuilderFactory.LONG); } public Response expireAt(String key, long unixTime) { - client.expireAt(key, unixTime); + getClient(key).expireAt(key, unixTime); return getResponse(BuilderFactory.LONG); } public Response expireAt(byte[] key, long unixTime) { - client.expireAt(key, unixTime); + getClient(key).expireAt(key, unixTime); return getResponse(BuilderFactory.LONG); } public Response get(String key) { - client.get(key); + getClient(key).get(key); return getResponse(BuilderFactory.STRING); } public Response get(byte[] key) { - client.get(key); + getClient(key).get(key); return getResponse(BuilderFactory.BYTE_ARRAY); } public Response getbit(String key, long offset) { - client.getbit(key, offset); + getClient(key).getbit(key, offset); return getResponse(BuilderFactory.BOOLEAN); } public Response getbit(byte[] key, long offset) { - client.getbit(key, offset); + getClient(key).getbit(key, offset); return getResponse(BuilderFactory.BOOLEAN); } public Response getrange(String key, long startOffset, long endOffset) { - client.getrange(key, startOffset, endOffset); + getClient(key).getrange(key, startOffset, endOffset); return getResponse(BuilderFactory.STRING); } public Response getSet(String key, String value) { - client.getSet(key, value); + getClient(key).getSet(key, value); return getResponse(BuilderFactory.STRING); } public Response getSet(byte[] key, byte[] value) { - client.getSet(key, value); + getClient(key).getSet(key, value); return getResponse(BuilderFactory.BYTE_ARRAY); } public Response getrange(byte[] key, long startOffset, long endOffset) { - client.getrange(key, startOffset, endOffset); + getClient(key).getrange(key, startOffset, endOffset); return getResponse(BuilderFactory.LONG); } public Response hdel(String key, String field) { - client.hdel(key, field); + getClient(key).hdel(key, field); return getResponse(BuilderFactory.LONG); } public Response hdel(byte[] key, byte[] field) { - client.hdel(key, field); + getClient(key).hdel(key, field); return getResponse(BuilderFactory.LONG); } public Response hexists(String key, String field) { - client.hexists(key, field); + getClient(key).hexists(key, field); return getResponse(BuilderFactory.BOOLEAN); } public Response hexists(byte[] key, byte[] field) { - client.hexists(key, field); + getClient(key).hexists(key, field); return getResponse(BuilderFactory.BOOLEAN); } public Response hget(String key, String field) { - client.hget(key, field); + getClient(key).hget(key, field); return getResponse(BuilderFactory.STRING); } public Response hget(byte[] key, byte[] field) { - client.hget(key, field); + getClient(key).hget(key, field); return getResponse(BuilderFactory.BYTE_ARRAY); } public Response> hgetAll(String key) { - client.hgetAll(key); + getClient(key).hgetAll(key); return getResponse(BuilderFactory.STRING_MAP); } public Response> hgetAll(byte[] key) { - client.hgetAll(key); + getClient(key).hgetAll(key); return getResponse(BuilderFactory.BYTE_ARRAY_MAP); } public Response hincrBy(String key, String field, long value) { - client.hincrBy(key, field, value); + getClient(key).hincrBy(key, field, value); return getResponse(BuilderFactory.LONG); } public Response hincrBy(byte[] key, byte[] field, long value) { - client.hincrBy(key, field, value); + getClient(key).hincrBy(key, field, value); return getResponse(BuilderFactory.LONG); } public Response> hkeys(String key) { - client.hkeys(key); + getClient(key).hkeys(key); return getResponse(BuilderFactory.STRING_SET); } public Response> hkeys(byte[] key) { - client.hkeys(key); + getClient(key).hkeys(key); return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); } public Response hlen(String key) { - client.hlen(key); + getClient(key).hlen(key); return getResponse(BuilderFactory.LONG); } public Response hlen(byte[] key) { - client.hlen(key); + getClient(key).hlen(key); return getResponse(BuilderFactory.LONG); } public Response> hmget(String key, String... fields) { - client.hmget(key, fields); + getClient(key).hmget(key, fields); return getResponse(BuilderFactory.STRING_LIST); } public Response> hmget(byte[] key, byte[]... fields) { - client.hmget(key, fields); + getClient(key).hmget(key, fields); return getResponse(BuilderFactory.BYTE_ARRAY_LIST); } public Response hmset(String key, Map hash) { - client.hmset(key, hash); + getClient(key).hmset(key, hash); return getResponse(BuilderFactory.STRING); } public Response hmset(byte[] key, Map hash) { - client.hmset(key, hash); + getClient(key).hmset(key, hash); return getResponse(BuilderFactory.STRING); } public Response hset(String key, String field, String value) { - client.hset(key, field, value); + getClient(key).hset(key, field, value); return getResponse(BuilderFactory.LONG); } public Response hset(byte[] key, byte[] field, byte[] value) { - client.hset(key, field, value); + getClient(key).hset(key, field, value); return getResponse(BuilderFactory.LONG); } public Response hsetnx(String key, String field, String value) { - client.hsetnx(key, field, value); + getClient(key).hsetnx(key, field, value); return getResponse(BuilderFactory.LONG); } public Response hsetnx(byte[] key, byte[] field, byte[] value) { - client.hsetnx(key, field, value); + getClient(key).hsetnx(key, field, value); return getResponse(BuilderFactory.LONG); } public Response> hvals(String key) { - client.hvals(key); + getClient(key).hvals(key); return getResponse(BuilderFactory.STRING_LIST); } public Response> hvals(byte[] key) { - client.hvals(key); + getClient(key).hvals(key); return getResponse(BuilderFactory.BYTE_ARRAY_LIST); } public Response incr(String key) { - client.incr(key); + getClient(key).incr(key); return getResponse(BuilderFactory.LONG); } public Response incr(byte[] key) { - client.incr(key); + getClient(key).incr(key); return getResponse(BuilderFactory.LONG); } public Response incrBy(String key, long integer) { - client.incrBy(key, integer); + getClient(key).incrBy(key, integer); return getResponse(BuilderFactory.LONG); } public Response incrBy(byte[] key, long integer) { - client.incrBy(key, integer); + getClient(key).incrBy(key, integer); return getResponse(BuilderFactory.LONG); } public Response> keys(String pattern) { - client.keys(pattern); + getClient(pattern).keys(pattern); return getResponse(BuilderFactory.STRING_SET); } public Response> keys(byte[] pattern) { - client.keys(pattern); + getClient(pattern).keys(pattern); return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); } public Response lindex(String key, int index) { - client.lindex(key, index); + getClient(key).lindex(key, index); return getResponse(BuilderFactory.STRING); } public Response lindex(byte[] key, int index) { - client.lindex(key, index); + getClient(key).lindex(key, index); return getResponse(BuilderFactory.BYTE_ARRAY); } public Response linsert(String key, LIST_POSITION where, String pivot, String value) { - client.linsert(key, where, pivot, value); + getClient(key).linsert(key, where, pivot, value); return getResponse(BuilderFactory.LONG); } public Response linsert(byte[] key, LIST_POSITION where, byte[] pivot, byte[] value) { - client.linsert(key, where, pivot, value); + getClient(key).linsert(key, where, pivot, value); return getResponse(BuilderFactory.LONG); } public Response llen(String key) { - client.llen(key); + getClient(key).llen(key); return getResponse(BuilderFactory.LONG); } public Response llen(byte[] key) { - client.llen(key); + getClient(key).llen(key); return getResponse(BuilderFactory.LONG); } public Response lpop(String key) { - client.lpop(key); + getClient(key).lpop(key); return getResponse(BuilderFactory.STRING); } public Response lpop(byte[] key) { - client.lpop(key); + getClient(key).lpop(key); return getResponse(BuilderFactory.BYTE_ARRAY); } public Response lpush(String key, String string) { - client.lpush(key, string); + getClient(key).lpush(key, string); return getResponse(BuilderFactory.LONG); } public Response lpush(byte[] key, byte[] string) { - client.lpush(key, string); + getClient(key).lpush(key, string); return getResponse(BuilderFactory.LONG); } public Response lpushx(String key, String string) { - client.lpushx(key, string); + getClient(key).lpushx(key, string); return getResponse(BuilderFactory.LONG); } public Response lpushx(byte[] key, byte[] bytes) { - client.lpushx(key, bytes); + getClient(key).lpushx(key, bytes); return getResponse(BuilderFactory.LONG); } public Response> lrange(String key, long start, long end) { - client.lrange(key, start, end); + getClient(key).lrange(key, start, end); return getResponse(BuilderFactory.STRING_LIST); } public Response> lrange(byte[] key, long start, long end) { - client.lrange(key, start, end); + getClient(key).lrange(key, start, end); return getResponse(BuilderFactory.BYTE_ARRAY_LIST); } public Response lrem(String key, long count, String value) { - client.lrem(key, count, value); + getClient(key).lrem(key, count, value); return getResponse(BuilderFactory.LONG); } public Response lrem(byte[] key, long count, byte[] value) { - client.lrem(key, count, value); + getClient(key).lrem(key, count, value); return getResponse(BuilderFactory.LONG); } public Response lset(String key, long index, String value) { - client.lset(key, index, value); + getClient(key).lset(key, index, value); return getResponse(BuilderFactory.STRING); } public Response lset(byte[] key, long index, byte[] value) { - client.lset(key, index, value); + getClient(key).lset(key, index, value); return getResponse(BuilderFactory.STRING); } public Response ltrim(String key, long start, long end) { - client.ltrim(key, start, end); + getClient(key).ltrim(key, start, end); return getResponse(BuilderFactory.STRING); } public Response ltrim(byte[] key, long start, long end) { - client.ltrim(key, start, end); + getClient(key).ltrim(key, start, end); return getResponse(BuilderFactory.STRING); } - public Response> mget(String... keys) { - client.mget(keys); - return getResponse(BuilderFactory.STRING_LIST); - } - - public Response> mget(byte[]... keys) { - client.mget(keys); - return getResponse(BuilderFactory.BYTE_ARRAY_LIST); - } - public Response move(String key, int dbIndex) { - client.move(key, dbIndex); + getClient(key).move(key, dbIndex); return getResponse(BuilderFactory.LONG); } public Response move(byte[] key, int dbIndex) { - client.move(key, dbIndex); - return getResponse(BuilderFactory.LONG); - } - - public Response mset(String... keysvalues) { - client.mset(keysvalues); - return getResponse(BuilderFactory.STRING); - } - - public Response mset(byte[]... keysvalues) { - client.mset(keysvalues); - return getResponse(BuilderFactory.STRING); - } - - public Response msetnx(String... keysvalues) { - client.msetnx(keysvalues); - return getResponse(BuilderFactory.LONG); - } - - public Response msetnx(byte[]... keysvalues) { - client.msetnx(keysvalues); + getClient(key).move(key, dbIndex); return getResponse(BuilderFactory.LONG); } public Response persist(String key) { - client.persist(key); + getClient(key).persist(key); return getResponse(BuilderFactory.LONG); } public Response persist(byte[] key) { - client.persist(key); - return getResponse(BuilderFactory.LONG); - } - - public Response rename(String oldkey, String newkey) { - client.rename(oldkey, newkey); - return getResponse(BuilderFactory.STRING); - } - - public Response rename(byte[] oldkey, byte[] newkey) { - client.rename(oldkey, newkey); - return getResponse(BuilderFactory.STRING); - } - - public Response renamenx(String oldkey, String newkey) { - client.renamenx(oldkey, newkey); - return getResponse(BuilderFactory.LONG); - } - - public Response renamenx(byte[] oldkey, byte[] newkey) { - client.renamenx(oldkey, newkey); + getClient(key).persist(key); return getResponse(BuilderFactory.LONG); } public Response rpop(String key) { - client.rpop(key); + getClient(key).rpop(key); return getResponse(BuilderFactory.STRING); } public Response rpop(byte[] key) { - client.rpop(key); - return getResponse(BuilderFactory.BYTE_ARRAY); - } - - public Response rpoplpush(String srckey, String dstkey) { - client.rpoplpush(srckey, dstkey); - return getResponse(BuilderFactory.STRING); - } - - public Response rpoplpush(byte[] srckey, byte[] dstkey) { - client.rpoplpush(srckey, dstkey); + getClient(key).rpop(key); return getResponse(BuilderFactory.BYTE_ARRAY); } public Response rpush(String key, String string) { - client.rpush(key, string); + getClient(key).rpush(key, string); return getResponse(BuilderFactory.LONG); } public Response rpush(byte[] key, byte[] string) { - client.rpush(key, string); + getClient(key).rpush(key, string); return getResponse(BuilderFactory.LONG); } public Response rpushx(String key, String string) { - client.rpushx(key, string); + getClient(key).rpushx(key, string); return getResponse(BuilderFactory.LONG); } public Response rpushx(byte[] key, byte[] string) { - client.rpushx(key, string); + getClient(key).rpushx(key, string); return getResponse(BuilderFactory.LONG); } public Response sadd(String key, String member) { - client.sadd(key, member); + getClient(key).sadd(key, member); return getResponse(BuilderFactory.LONG); } public Response sadd(byte[] key, byte[] member) { - client.sadd(key, member); + getClient(key).sadd(key, member); return getResponse(BuilderFactory.LONG); } public Response scard(String key) { - client.scard(key); + getClient(key).scard(key); return getResponse(BuilderFactory.LONG); } public Response scard(byte[] key) { - client.scard(key); - return getResponse(BuilderFactory.LONG); - } - - public Response> sdiff(String... keys) { - client.sdiff(keys); - return getResponse(BuilderFactory.STRING_SET); - } - - public Response> sdiff(byte[]... keys) { - client.sdiff(keys); - return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); - } - - public Response sdiffstore(String dstkey, String... keys) { - client.sdiffstore(dstkey, keys); - return getResponse(BuilderFactory.LONG); - } - - public Response sdiffstore(byte[] dstkey, byte[]... keys) { - client.sdiffstore(dstkey, keys); + getClient(key).scard(key); return getResponse(BuilderFactory.LONG); } public Response set(String key, String value) { - client.set(key, value); + getClient(key).set(key, value); return getResponse(BuilderFactory.STRING); } public Response set(byte[] key, byte[] value) { - client.set(key, value); + getClient(key).set(key, value); return getResponse(BuilderFactory.STRING); } public Response setbit(String key, long offset, boolean value) { - client.setbit(key, offset, value); + getClient(key).setbit(key, offset, value); return getResponse(BuilderFactory.BOOLEAN); } public Response setbit(byte[] key, long offset, byte[] value) { - client.setbit(key, offset, value); + getClient(key).setbit(key, offset, value); return getResponse(BuilderFactory.BOOLEAN); } public Response setex(String key, int seconds, String value) { - client.setex(key, seconds, value); + getClient(key).setex(key, seconds, value); return getResponse(BuilderFactory.STRING); } public Response setex(byte[] key, int seconds, byte[] value) { - client.setex(key, seconds, value); + getClient(key).setex(key, seconds, value); return getResponse(BuilderFactory.STRING); } public Response setnx(String key, String value) { - client.setnx(key, value); + getClient(key).setnx(key, value); return getResponse(BuilderFactory.LONG); } public Response setnx(byte[] key, byte[] value) { - client.setnx(key, value); + getClient(key).setnx(key, value); return getResponse(BuilderFactory.LONG); } public Response setrange(String key, long offset, String value) { - client.setrange(key, offset, value); + getClient(key).setrange(key, offset, value); return getResponse(BuilderFactory.LONG); } public Response setrange(byte[] key, long offset, byte[] value) { - client.setrange(key, offset, value); - return getResponse(BuilderFactory.LONG); - } - - public Response> sinter(String... keys) { - client.sinter(keys); - return getResponse(BuilderFactory.STRING_SET); - } - - public Response> sinter(byte[]... keys) { - client.sinter(keys); - return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); - } - - public Response sinterstore(String dstkey, String... keys) { - client.sinterstore(dstkey, keys); - return getResponse(BuilderFactory.LONG); - } - - public Response sinterstore(byte[] dstkey, byte[]... keys) { - client.sinterstore(dstkey, keys); + getClient(key).setrange(key, offset, value); return getResponse(BuilderFactory.LONG); } public Response sismember(String key, String member) { - client.sismember(key, member); + getClient(key).sismember(key, member); return getResponse(BuilderFactory.BOOLEAN); } public Response sismember(byte[] key, byte[] member) { - client.sismember(key, member); + getClient(key).sismember(key, member); return getResponse(BuilderFactory.BOOLEAN); } public Response> smembers(String key) { - client.smembers(key); + getClient(key).smembers(key); return getResponse(BuilderFactory.STRING_SET); } public Response> smembers(byte[] key) { - client.smembers(key); + getClient(key).smembers(key); return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); } - public Response smove(String srckey, String dstkey, String member) { - client.smove(srckey, dstkey, member); - return getResponse(BuilderFactory.LONG); - } - - public Response smove(byte[] srckey, byte[] dstkey, byte[] member) { - client.smove(srckey, dstkey, member); - return getResponse(BuilderFactory.LONG); - } - public Response> sort(String key) { - client.sort(key); + getClient(key).sort(key); return getResponse(BuilderFactory.STRING_LIST); } public Response> sort(byte[] key) { - client.sort(key); + getClient(key).sort(key); return getResponse(BuilderFactory.BYTE_ARRAY_LIST); } public Response> sort(String key, SortingParams sortingParameters) { - client.sort(key, sortingParameters); + getClient(key).sort(key, sortingParameters); return getResponse(BuilderFactory.STRING_LIST); } public Response> sort(byte[] key, SortingParams sortingParameters) { - client.sort(key, sortingParameters); - return getResponse(BuilderFactory.BYTE_ARRAY_LIST); - } - - public Response> sort(String key, - SortingParams sortingParameters, String dstkey) { - client.sort(key, sortingParameters, dstkey); - return getResponse(BuilderFactory.STRING_LIST); - } - - public Response> sort(byte[] key, - SortingParams sortingParameters, byte[] dstkey) { - client.sort(key, sortingParameters, dstkey); - return getResponse(BuilderFactory.BYTE_ARRAY_LIST); - } - - public Response> sort(String key, String dstkey) { - client.sort(key, dstkey); - return getResponse(BuilderFactory.STRING_LIST); - } - - public Response> sort(byte[] key, byte[] dstkey) { - client.sort(key, dstkey); + getClient(key).sort(key, sortingParameters); return getResponse(BuilderFactory.BYTE_ARRAY_LIST); } public Response spop(String key) { - client.spop(key); + getClient(key).spop(key); return getResponse(BuilderFactory.STRING); } public Response spop(byte[] key) { - client.spop(key); + getClient(key).spop(key); return getResponse(BuilderFactory.BYTE_ARRAY); } public Response srandmember(String key) { - client.srandmember(key); + getClient(key).srandmember(key); return getResponse(BuilderFactory.STRING); } public Response srandmember(byte[] key) { - client.srandmember(key); + getClient(key).srandmember(key); return getResponse(BuilderFactory.BYTE_ARRAY); } public Response srem(String key, String member) { - client.srem(key, member); + getClient(key).srem(key, member); return getResponse(BuilderFactory.LONG); } public Response srem(byte[] key, byte[] member) { - client.srem(key, member); + getClient(key).srem(key, member); return getResponse(BuilderFactory.LONG); } public Response strlen(String key) { - client.strlen(key); + getClient(key).strlen(key); return getResponse(BuilderFactory.LONG); } public Response strlen(byte[] key) { - client.strlen(key); + getClient(key).strlen(key); return getResponse(BuilderFactory.LONG); } public Response substr(String key, int start, int end) { - client.substr(key, start, end); + getClient(key).substr(key, start, end); return getResponse(BuilderFactory.STRING); } public Response substr(byte[] key, int start, int end) { - client.substr(key, start, end); + getClient(key).substr(key, start, end); return getResponse(BuilderFactory.STRING); } - public Response> sunion(String... keys) { - client.sunion(keys); - return getResponse(BuilderFactory.STRING_SET); - } - - public Response> sunion(byte[]... keys) { - client.sunion(keys); - return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); - } - - public Response sunionstore(String dstkey, String... keys) { - client.sunionstore(dstkey, keys); - return getResponse(BuilderFactory.LONG); - } - - public Response sunionstore(byte[] dstkey, byte[]... keys) { - client.sunionstore(dstkey, keys); - return getResponse(BuilderFactory.LONG); - } - public Response ttl(String key) { - client.ttl(key); + getClient(key).ttl(key); return getResponse(BuilderFactory.LONG); } public Response ttl(byte[] key) { - client.ttl(key); + getClient(key).ttl(key); return getResponse(BuilderFactory.LONG); } public Response type(String key) { - client.type(key); + getClient(key).type(key); return getResponse(BuilderFactory.STRING); } public Response type(byte[] key) { - client.type(key); - return getResponse(BuilderFactory.STRING); - } - - public Response watch(String... keys) { - client.watch(keys); - return getResponse(BuilderFactory.STRING); - } - - public Response watch(byte[]... keys) { - client.watch(keys); + getClient(key).type(key); return getResponse(BuilderFactory.STRING); } public Response zadd(String key, double score, String member) { - client.zadd(key, score, member); + getClient(key).zadd(key, score, member); return getResponse(BuilderFactory.LONG); } public Response zadd(byte[] key, double score, byte[] member) { - client.zadd(key, score, member); + getClient(key).zadd(key, score, member); return getResponse(BuilderFactory.LONG); } public Response zcard(String key) { - client.zcard(key); + getClient(key).zcard(key); return getResponse(BuilderFactory.LONG); } public Response zcard(byte[] key) { - client.zcard(key); + getClient(key).zcard(key); return getResponse(BuilderFactory.LONG); } public Response zcount(String key, double min, double max) { - client.zcount(key, min, max); + getClient(key).zcount(key, min, max); return getResponse(BuilderFactory.LONG); } public Response zcount(byte[] key, double min, double max) { - client.zcount(key, toByteArray(min), toByteArray(max)); + getClient(key).zcount(key, toByteArray(min), toByteArray(max)); return getResponse(BuilderFactory.LONG); } public Response zincrby(String key, double score, String member) { - client.zincrby(key, score, member); + getClient(key).zincrby(key, score, member); return getResponse(BuilderFactory.DOUBLE); } public Response zincrby(byte[] key, double score, byte[] member) { - client.zincrby(key, score, member); + getClient(key).zincrby(key, score, member); return getResponse(BuilderFactory.DOUBLE); } - public Response zinterstore(String dstkey, String... sets) { - client.zinterstore(dstkey, sets); - return getResponse(BuilderFactory.LONG); - } - - public Response zinterstore(byte[] dstkey, byte[]... sets) { - client.zinterstore(dstkey, sets); - return getResponse(BuilderFactory.LONG); - } - - public Response zinterstore(String dstkey, ZParams params, - String... sets) { - client.zinterstore(dstkey, params, sets); - return getResponse(BuilderFactory.LONG); - } - - public Response zinterstore(byte[] dstkey, ZParams params, - byte[]... sets) { - client.zinterstore(dstkey, params, sets); - return getResponse(BuilderFactory.LONG); - } - public Response> zrange(String key, int start, int end) { - client.zrange(key, start, end); + getClient(key).zrange(key, start, end); return getResponse(BuilderFactory.STRING_ZSET); } public Response> zrange(byte[] key, int start, int end) { - client.zrange(key, start, end); + getClient(key).zrange(key, start, end); return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); } public Response> zrangeByScore(String key, double min, double max) { - client.zrangeByScore(key, min, max); + getClient(key).zrangeByScore(key, min, max); return getResponse(BuilderFactory.STRING_ZSET); } @@ -929,19 +712,19 @@ abstract class PipelineBase extends Queable implements public Response> zrangeByScore(String key, String min, String max) { - client.zrangeByScore(key, min, max); + getClient(key).zrangeByScore(key, min, max); return getResponse(BuilderFactory.STRING_ZSET); } public Response> zrangeByScore(byte[] key, byte[] min, byte[] max) { - client.zrangeByScore(key, min, max); + getClient(key).zrangeByScore(key, min, max); return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); } public Response> zrangeByScore(String key, double min, double max, int offset, int count) { - client.zrangeByScore(key, min, max, offset, count); + getClient(key).zrangeByScore(key, min, max, offset, count); return getResponse(BuilderFactory.STRING_ZSET); } @@ -952,13 +735,13 @@ abstract class PipelineBase extends Queable implements public Response> zrangeByScore(byte[] key, byte[] min, byte[] max, int offset, int count) { - client.zrangeByScore(key, min, max, offset, count); + getClient(key).zrangeByScore(key, min, max, offset, count); return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); } public Response> zrangeByScoreWithScores(String key, double min, double max) { - client.zrangeByScoreWithScores(key, min, max); + getClient(key).zrangeByScoreWithScores(key, min, max); return getResponse(BuilderFactory.TUPLE_ZSET); } @@ -969,354 +752,221 @@ abstract class PipelineBase extends Queable implements public Response> zrangeByScoreWithScores(byte[] key, byte[] min, byte[] max) { - client.zrangeByScoreWithScores(key, min, max); + getClient(key).zrangeByScoreWithScores(key, min, max); return getResponse(BuilderFactory.TUPLE_ZSET_BINARY); } public Response> zrangeByScoreWithScores(String key, double min, double max, int offset, int count) { - client.zrangeByScoreWithScores(key, min, max, offset, count); + getClient(key).zrangeByScoreWithScores(key, min, max, offset, count); return getResponse(BuilderFactory.TUPLE_ZSET); } public Response> zrangeByScoreWithScores(byte[] key, double min, double max, int offset, int count) { - client.zrangeByScoreWithScores(key, toByteArray(min), toByteArray(max), offset, count); + getClient(key).zrangeByScoreWithScores(key, toByteArray(min), toByteArray(max), offset, count); return getResponse(BuilderFactory.TUPLE_ZSET_BINARY); } public Response> zrangeByScoreWithScores(byte[] key, byte[] min, byte[] max, int offset, int count) { - client.zrangeByScoreWithScores(key, min, max, offset, count); + getClient(key).zrangeByScoreWithScores(key, min, max, offset, count); return getResponse(BuilderFactory.TUPLE_ZSET_BINARY); } public Response> zrevrangeByScore(String key, double max, double min) { - client.zrevrangeByScore(key, max, min); + getClient(key).zrevrangeByScore(key, max, min); return getResponse(BuilderFactory.STRING_ZSET); } public Response> zrevrangeByScore(byte[] key, double max, double min) { - client.zrevrangeByScore(key, toByteArray(max), toByteArray(min)); + getClient(key).zrevrangeByScore(key, toByteArray(max), toByteArray(min)); return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); } public Response> zrevrangeByScore(String key, String max, String min) { - client.zrevrangeByScore(key, max, min); + getClient(key).zrevrangeByScore(key, max, min); return getResponse(BuilderFactory.STRING_ZSET); } public Response> zrevrangeByScore(byte[] key, byte[] max, byte[] min) { - client.zrevrangeByScore(key, max, min); + getClient(key).zrevrangeByScore(key, max, min); return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); } public Response> zrevrangeByScore(String key, double max, double min, int offset, int count) { - client.zrevrangeByScore(key, max, min, offset, count); + getClient(key).zrevrangeByScore(key, max, min, offset, count); return getResponse(BuilderFactory.STRING_ZSET); } public Response> zrevrangeByScore(byte[] key, double max, double min, int offset, int count) { - client.zrevrangeByScore(key, toByteArray(max), toByteArray(min), offset, count); + getClient(key).zrevrangeByScore(key, toByteArray(max), toByteArray(min), offset, count); return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); } public Response> zrevrangeByScore(byte[] key, byte[] max, byte[] min, int offset, int count) { - client.zrevrangeByScore(key, max, min, offset, count); + getClient(key).zrevrangeByScore(key, max, min, offset, count); return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); } public Response> zrevrangeByScoreWithScores(String key, double max, double min) { - client.zrevrangeByScoreWithScores(key, max, min); + getClient(key).zrevrangeByScoreWithScores(key, max, min); return getResponse(BuilderFactory.TUPLE_ZSET); } public Response> zrevrangeByScoreWithScores(byte[] key, double max, double min) { - client.zrevrangeByScoreWithScores(key, toByteArray(max), toByteArray(min)); + getClient(key).zrevrangeByScoreWithScores(key, toByteArray(max), toByteArray(min)); return getResponse(BuilderFactory.TUPLE_ZSET_BINARY); } public Response> zrevrangeByScoreWithScores(byte[] key, byte[] max, byte[] min) { - client.zrevrangeByScoreWithScores(key, max, min); + getClient(key).zrevrangeByScoreWithScores(key, max, min); return getResponse(BuilderFactory.TUPLE_ZSET_BINARY); } public Response> zrevrangeByScoreWithScores(String key, double max, double min, int offset, int count) { - client.zrevrangeByScoreWithScores(key, max, min, offset, count); + getClient(key).zrevrangeByScoreWithScores(key, max, min, offset, count); return getResponse(BuilderFactory.TUPLE_ZSET); } public Response> zrevrangeByScoreWithScores(byte[] key, double max, double min, int offset, int count) { - client.zrevrangeByScoreWithScores(key, toByteArray(max), toByteArray(min), offset, count); + getClient(key).zrevrangeByScoreWithScores(key, toByteArray(max), toByteArray(min), offset, count); return getResponse(BuilderFactory.TUPLE_ZSET_BINARY); } public Response> zrevrangeByScoreWithScores(byte[] key, byte[] max, byte[] min, int offset, int count) { - client.zrevrangeByScoreWithScores(key, max, min, offset, count); + getClient(key).zrevrangeByScoreWithScores(key, max, min, offset, count); return getResponse(BuilderFactory.TUPLE_ZSET_BINARY); } public Response> zrangeWithScores(String key, int start, int end) { - client.zrangeWithScores(key, start, end); + getClient(key).zrangeWithScores(key, start, end); return getResponse(BuilderFactory.TUPLE_ZSET); } public Response> zrangeWithScores(byte[] key, int start, int end) { - client.zrangeWithScores(key, start, end); + getClient(key).zrangeWithScores(key, start, end); return getResponse(BuilderFactory.TUPLE_ZSET_BINARY); } public Response zrank(String key, String member) { - client.zrank(key, member); + getClient(key).zrank(key, member); return getResponse(BuilderFactory.LONG); } public Response zrank(byte[] key, byte[] member) { - client.zrank(key, member); + getClient(key).zrank(key, member); return getResponse(BuilderFactory.LONG); } public Response zrem(String key, String member) { - client.zrem(key, member); + getClient(key).zrem(key, member); return getResponse(BuilderFactory.LONG); } public Response zrem(byte[] key, byte[] member) { - client.zrem(key, member); + getClient(key).zrem(key, member); return getResponse(BuilderFactory.LONG); } public Response zremrangeByRank(String key, int start, int end) { - client.zremrangeByRank(key, start, end); + getClient(key).zremrangeByRank(key, start, end); return getResponse(BuilderFactory.LONG); } public Response zremrangeByRank(byte[] key, int start, int end) { - client.zremrangeByRank(key, start, end); + getClient(key).zremrangeByRank(key, start, end); return getResponse(BuilderFactory.LONG); } public Response zremrangeByScore(String key, double start, double end) { - client.zremrangeByScore(key, start, end); + getClient(key).zremrangeByScore(key, start, end); return getResponse(BuilderFactory.LONG); } public Response zremrangeByScore(byte[] key, double start, double end) { - client.zremrangeByScore(key, toByteArray(start), toByteArray(end)); + getClient(key).zremrangeByScore(key, toByteArray(start), toByteArray(end)); return getResponse(BuilderFactory.LONG); } public Response zremrangeByScore(byte[] key, byte[] start, byte[] end) { - client.zremrangeByScore(key, start, end); + getClient(key).zremrangeByScore(key, start, end); return getResponse(BuilderFactory.LONG); } public Response> zrevrange(String key, int start, int end) { - client.zrevrange(key, start, end); + getClient(key).zrevrange(key, start, end); return getResponse(BuilderFactory.STRING_ZSET); } public Response> zrevrange(byte[] key, int start, int end) { - client.zrevrange(key, start, end); + getClient(key).zrevrange(key, start, end); return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); } public Response> zrevrangeWithScores(String key, int start, int end) { - client.zrevrangeWithScores(key, start, end); + getClient(key).zrevrangeWithScores(key, start, end); return getResponse(BuilderFactory.TUPLE_ZSET); } public Response> zrevrangeWithScores(byte[] key, int start, int end) { - client.zrevrangeWithScores(key, start, end); + getClient(key).zrevrangeWithScores(key, start, end); return getResponse(BuilderFactory.TUPLE_ZSET); } public Response zrevrank(String key, String member) { - client.zrevrank(key, member); + getClient(key).zrevrank(key, member); return getResponse(BuilderFactory.LONG); } public Response zrevrank(byte[] key, byte[] member) { - client.zrevrank(key, member); + getClient(key).zrevrank(key, member); return getResponse(BuilderFactory.LONG); } public Response zscore(String key, String member) { - client.zscore(key, member); + getClient(key).zscore(key, member); return getResponse(BuilderFactory.DOUBLE); } public Response zscore(byte[] key, byte[] member) { - client.zscore(key, member); + getClient(key).zscore(key, member); return getResponse(BuilderFactory.DOUBLE); } - public Response zunionstore(String dstkey, String... sets) { - client.zunionstore(dstkey, sets); - return getResponse(BuilderFactory.LONG); - } - - public Response zunionstore(byte[] dstkey, byte[]... sets) { - client.zunionstore(dstkey, sets); - return getResponse(BuilderFactory.LONG); - } - - public Response zunionstore(String dstkey, ZParams params, - String... sets) { - client.zunionstore(dstkey, params, sets); - return getResponse(BuilderFactory.LONG); - } - - public Response zunionstore(byte[] dstkey, ZParams params, - byte[]... sets) { - client.zunionstore(dstkey, params, sets); - return getResponse(BuilderFactory.LONG); - } - - public Response bgrewriteaof() { - client.bgrewriteaof(); - return getResponse(BuilderFactory.STRING); - } - - public Response bgsave() { - client.bgsave(); - return getResponse(BuilderFactory.STRING); - } - - public Response configGet(String pattern) { - client.configGet(pattern); - return getResponse(BuilderFactory.STRING); - } - - public Response configSet(String parameter, String value) { - client.configSet(parameter, value); - return getResponse(BuilderFactory.STRING); - } - - public Response brpoplpush(String source, String destination, - int timeout) { - client.brpoplpush(source, destination, timeout); - return getResponse(BuilderFactory.STRING); - } - - public Response brpoplpush(byte[] source, byte[] destination, - int timeout) { - client.brpoplpush(source, destination, timeout); - return getResponse(BuilderFactory.BYTE_ARRAY); - } - - public Response configResetStat() { - client.configResetStat(); - return getResponse(BuilderFactory.STRING); - } - - public Response save() { - client.save(); - return getResponse(BuilderFactory.STRING); - } - - public Response lastsave() { - client.lastsave(); - return getResponse(BuilderFactory.LONG); - } - - public Response publish(String channel, String message) { - client.publish(channel, message); - return getResponse(BuilderFactory.LONG); - } - - public Response publish(byte[] channel, byte[] message) { - client.publish(channel, message); - return getResponse(BuilderFactory.LONG); - } - - public Response randomKey() { - client.randomKey(); - return getResponse(BuilderFactory.STRING); - } - - public Response randomKeyBinary() { - client.randomKey(); - return getResponse(BuilderFactory.BYTE_ARRAY); - } - - public Response flushDB() { - client.flushDB(); - return getResponse(BuilderFactory.STRING); - } - - public Response flushAll() { - client.flushAll(); - return getResponse(BuilderFactory.STRING); - } - - public Response info() { - client.info(); - return getResponse(BuilderFactory.STRING); - } - - public Response dbSize() { - client.dbSize(); - return getResponse(BuilderFactory.LONG); - } - - public Response shutdown() { - client.shutdown(); - return getResponse(BuilderFactory.STRING); - } - - public Response ping() { - client.ping(); - return getResponse(BuilderFactory.STRING); - } - - public Response select(int index) { - client.select(index); - return getResponse(BuilderFactory.STRING); - } - public Response bitcount(String key) { - client.bitcount(key); + getClient(key).bitcount(key); return getResponse(BuilderFactory.LONG); } public Response bitcount(String key, long start, long end) { - client.bitcount(key, start, end); + getClient(key).bitcount(key, start, end); return getResponse(BuilderFactory.LONG); } public Response bitcount(byte[] key) { - client.bitcount(key); + getClient(key).bitcount(key); return getResponse(BuilderFactory.LONG); } public Response bitcount(byte[] key, long start, long end) { - client.bitcount(key, start, end); + getClient(key).bitcount(key, start, end); return getResponse(BuilderFactory.LONG); } - public Response bitop(BitOP op, byte[] destKey, byte[]... srcKeys) { - client.bitop(op, destKey, srcKeys); - return getResponse(BuilderFactory.LONG); - } - - public Response bitop(BitOP op, String destKey, String... srcKeys) { - client.bitop(op, destKey, srcKeys); - return getResponse(BuilderFactory.LONG); - } } diff --git a/src/main/java/redis/clients/jedis/ShardedJedisPipeline.java b/src/main/java/redis/clients/jedis/ShardedJedisPipeline.java index 2601f9c..be6db92 100644 --- a/src/main/java/redis/clients/jedis/ShardedJedisPipeline.java +++ b/src/main/java/redis/clients/jedis/ShardedJedisPipeline.java @@ -1,12 +1,11 @@ package redis.clients.jedis; -import redis.clients.jedis.BinaryClient.LIST_POSITION; +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.List; +import java.util.Queue; -import java.util.*; - -import static redis.clients.jedis.Protocol.toByteArray; - -public class ShardedJedisPipeline extends Queable implements BinaryRedisPipeline, RedisPipeline { +public class ShardedJedisPipeline extends PipelineBase { private BinaryShardedJedis jedis; private List results = new ArrayList(); private Queue clients = new LinkedList(); @@ -27,1289 +26,6 @@ public class ShardedJedisPipeline extends Queable implements BinaryRedisPipeline this.jedis = jedis; } - public Response set(String key, String value) { - Client c = getClient(key); - c.set(key, value); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING); - } - - public Response set(byte[] key, byte[] value) { - Client c = getClient(key); - c.set(key, value); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING); - } - - public Response get(String key) { - Client c = getClient(key); - c.get(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING); - } - - public Response get(byte[] key) { - Client c = getClient(key); - c.get(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.BYTE_ARRAY); - } - - public Response> blpop(byte[] arg) { - byte[][] temp = new byte[1][]; - temp[0] = arg; - Client c = getClient(arg); - c.blpop(temp); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.BYTE_ARRAY_LIST); - } - - public Response> brpop(byte[] arg) { - byte[][] temp = new byte[1][]; - temp[0] = arg; - Client c = getClient(arg); - c.blpop(temp); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.BYTE_ARRAY_LIST); - } - - public Response> blpop(String arg) { - String[] temp = new String[1]; - temp[0] = arg; - Client c = getClient(arg); - c.blpop(temp); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING_LIST); - } - - public Response> brpop(String arg) { - String[] temp = new String[1]; - temp[0] = arg; - Client c = getClient(arg); - c.brpop(temp); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING_LIST); - } - - public Response move(byte[] key, int dbIndex) { - Client c = getClient(key); - c.move(key, dbIndex); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response move(String key, int dbIndex) { - Client c = getClient(key); - c.move(key, dbIndex); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response echo(byte[] string) { - Client c = getClient(string); - c.echo(string); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.BYTE_ARRAY); - } - - public Response echo(String string) { - Client c = getClient(string); - c.echo(string); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING); - } - - public Response del(byte[] key) { - Client c = getClient(key); - c.del(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response del(String key) { - Client c = getClient(key); - c.del(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response exists(String key) { - Client c = getClient(key); - c.exists(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.BOOLEAN); - } - - public Response exists(byte[] key) { - Client c = getClient(key); - c.exists(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.BOOLEAN); - } - - public Response type(String key) { - Client c = getClient(key); - c.type(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING); - } - - public Response type(byte[] key) { - Client c = getClient(key); - c.type(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING); - } - - public Response expire(String key, int seconds) { - Client c = getClient(key); - c.expire(key, seconds); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response expire(byte[] key, int seconds) { - Client c = getClient(key); - c.expire(key, seconds); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response expireAt(String key, long unixTime) { - Client c = getClient(key); - c.expireAt(key, unixTime); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response expireAt(byte[] key, long unixTime) { - Client c = getClient(key); - c.expireAt(key, unixTime); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response ttl(String key) { - Client c = getClient(key); - c.ttl(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response ttl(byte[] key) { - Client c = getClient(key); - c.ttl(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response getSet(String key, String value) { - Client c = getClient(key); - c.getSet(key, value); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING); - } - - public Response getSet(byte[] key, byte[] value) { - Client c = getClient(key); - c.getSet(key, value); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.BYTE_ARRAY); - } - - public Response setnx(String key, String value) { - Client c = getClient(key); - c.setnx(key, value); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response setnx(byte[] key, byte[] value) { - Client c = getClient(key); - c.setnx(key, value); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response setex(String key, int seconds, String value) { - Client c = getClient(key); - c.setex(key, seconds, value); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING); - } - - public Response setex(byte[] key, int seconds, byte[] value) { - Client c = getClient(key); - c.setex(key, seconds, value); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING); - } - - public Response decrBy(String key, long integer) { - Client c = getClient(key); - c.decrBy(key, integer); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response decrBy(byte[] key, long integer) { - Client c = getClient(key); - c.decrBy(key, integer); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response decr(String key) { - Client c = getClient(key); - c.decr(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response decr(byte[] key) { - Client c = getClient(key); - c.decr(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response incrBy(String key, long integer) { - Client c = getClient(key); - c.incrBy(key, integer); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response incrBy(byte[] key, long integer) { - Client c = getClient(key); - c.incrBy(key, integer); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response incr(String key) { - Client c = getClient(key); - c.incr(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response incr(byte[] key) { - Client c = getClient(key); - c.incr(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response append(String key, String value) { - Client c = getClient(key); - c.append(key, value); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response append(byte[] key, byte[] value) { - Client c = getClient(key); - c.append(key, value); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response substr(String key, int start, int end) { - Client c = getClient(key); - c.substr(key, start, end); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING); - } - - public Response substr(byte[] key, int start, int end) { - Client c = getClient(key); - c.substr(key, start, end); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING); - } - - public Response hset(String key, String field, String value) { - Client c = getClient(key); - c.hset(key, field, value); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response hset(byte[] key, byte[] field, byte[] value) { - Client c = getClient(key); - c.hset(key, field, value); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response hget(String key, String field) { - Client c = getClient(key); - c.hget(key, field); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING); - } - - public Response hget(byte[] key, byte[] field) { - Client c = getClient(key); - c.hget(key, field); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.BYTE_ARRAY); - } - - public Response hsetnx(String key, String field, String value) { - Client c = getClient(key); - c.hsetnx(key, field, value); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response hsetnx(byte[] key, byte[] field, byte[] value) { - Client c = getClient(key); - c.hsetnx(key, field, value); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response hmset(String key, Map hash) { - Client c = getClient(key); - c.hmset(key, hash); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING); - } - - public Response hmset(byte[] key, Map hash) { - Client c = getClient(key); - c.hmset(key, hash); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING); - } - - public Response> hmget(String key, String... fields) { - Client c = getClient(key); - c.hmget(key, fields); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING_LIST); - } - - public Response> hmget(byte[] key, byte[]... fields) { - Client c = getClient(key); - c.hmget(key, fields); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.BYTE_ARRAY_LIST); - } - - public Response hincrBy(String key, String field, long value) { - Client c = getClient(key); - c.hincrBy(key, field, value); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response hincrBy(byte[] key, byte[] field, long value) { - Client c = getClient(key); - c.hincrBy(key, field, value); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response hexists(String key, String field) { - Client c = getClient(key); - c.hexists(key, field); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.BOOLEAN); - } - - public Response hexists(byte[] key, byte[] field) { - Client c = getClient(key); - c.hexists(key, field); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.BOOLEAN); - } - - public Response hdel(String key, String field) { - Client c = getClient(key); - c.hdel(key, field); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response hdel(byte[] key, byte[] field) { - Client c = getClient(key); - c.hdel(key, field); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response hlen(String key) { - Client c = getClient(key); - c.hlen(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response hlen(byte[] key) { - Client c = getClient(key); - c.hlen(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response> hkeys(String key) { - Client c = getClient(key); - c.hkeys(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING_SET); - } - - public Response> hkeys(byte[] key) { - Client c = getClient(key); - c.hkeys(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); - } - - public Response> hvals(String key) { - Client c = getClient(key); - c.hvals(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING_LIST); - } - - public Response> hvals(byte[] key) { - Client c = getClient(key); - c.hvals(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.BYTE_ARRAY_LIST); - } - - public Response> hgetAll(String key) { - Client c = getClient(key); - c.hgetAll(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING_MAP); - } - - public Response> hgetAll(byte[] key) { - Client c = getClient(key); - c.hgetAll(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.BYTE_ARRAY_MAP); - } - - public Response rpush(String key, String string) { - Client c = getClient(key); - c.rpush(key, string); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response rpush(byte[] key, byte[] string) { - Client c = getClient(key); - c.rpush(key, string); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response rpushx(String key, String string) { - Client c = getClient(key); - c.rpushx(key, string); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response rpushx(byte[] key, byte[] string) { - Client c = getClient(key); - c.rpushx(key, string); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response lpush(String key, String string) { - Client c = getClient(key); - c.lpush(key, string); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response lpush(byte[] key, byte[] string) { - Client c = getClient(key); - c.lpush(key, string); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response lpushx(String key, String string) { - Client c = getClient(key); - c.lpushx(key, string); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response lpushx(byte[] key, byte[] bytes) { - Client c = getClient(key); - c.lpushx(key, bytes); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response llen(String key) { - Client c = getClient(key); - c.llen(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response llen(byte[] key) { - Client c = getClient(key); - c.llen(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response> lrange(String key, long start, long end) { - Client c = getClient(key); - c.lrange(key, start, end); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING_LIST); - } - - public Response> lrange(byte[] key, long start, long end) { - Client c = getClient(key); - c.lrange(key, start, end); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.BYTE_ARRAY_LIST); - } - - public Response ltrim(String key, long start, long end) { - Client c = getClient(key); - c.ltrim(key, start, end); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING); - } - - public Response ltrim(byte[] key, long start, long end) { - Client c = getClient(key); - c.ltrim(key, start, end); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING); - } - - public Response persist(String key) { - Client c = getClient(key); - c.persist(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response persist(byte[] key) { - Client c = getClient(key); - c.persist(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response lindex(String key, int index) { - Client c = getClient(key); - c.lindex(key, index); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING); - } - - public Response lindex(byte[] key, int index) { - Client c = getClient(key); - c.lindex(key, index); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.BYTE_ARRAY); - } - - public Response lset(String key, long index, String value) { - Client c = getClient(key); - c.lset(key, index, value); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING); - } - - public Response lset(byte[] key, long index, byte[] value) { - Client c = getClient(key); - c.lset(key, index, value); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING); - } - - public Response lrem(String key, long count, String value) { - Client c = getClient(key); - c.lrem(key, count, value); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response lrem(byte[] key, long count, byte[] value) { - Client c = getClient(key); - c.lrem(key, count, value); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response lpop(String key) { - Client c = getClient(key); - c.lpop(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING); - } - - public Response lpop(byte[] key) { - Client c = getClient(key); - c.lpop(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.BYTE_ARRAY); - } - - public Response rpop(String key) { - Client c = getClient(key); - c.rpop(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING); - } - - public Response rpop(byte[] key) { - Client c = getClient(key); - c.rpop(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.BYTE_ARRAY); - } - - public Response sadd(String key, String member) { - Client c = getClient(key); - c.sadd(key, member); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response sadd(byte[] key, byte[] member) { - Client c = getClient(key); - c.sadd(key, member); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response> smembers(String key) { - Client c = getClient(key); - c.smembers(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING_SET); - } - - public Response> smembers(byte[] key) { - Client c = getClient(key); - c.smembers(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); - } - - public Response srem(String key, String member) { - Client c = getClient(key); - c.srem(key, member); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response srem(byte[] key, byte[] member) { - Client c = getClient(key); - c.srem(key, member); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response strlen(String key) { - Client c = getClient(key); - c.strlen(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response strlen(byte[] key) { - Client c = getClient(key); - c.strlen(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response spop(String key) { - Client c = getClient(key); - c.spop(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING); - } - - public Response spop(byte[] key) { - Client c = getClient(key); - c.spop(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.BYTE_ARRAY); - } - - public Response scard(String key) { - Client c = getClient(key); - c.scard(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response scard(byte[] key) { - Client c = getClient(key); - c.scard(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response sismember(String key, String member) { - Client c = getClient(key); - c.sismember(key, member); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.BOOLEAN); - } - - public Response sismember(byte[] key, byte[] member) { - Client c = getClient(key); - c.sismember(key, member); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.BOOLEAN); - } - - public Response srandmember(String key) { - Client c = getClient(key); - c.srandmember(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING); - } - - public Response srandmember(byte[] key) { - Client c = getClient(key); - c.srandmember(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.BYTE_ARRAY); - } - - public Response zadd(String key, double score, String member) { - Client c = getClient(key); - c.zadd(key, score, member); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response zadd(byte[] key, double score, byte[] member) { - Client c = getClient(key); - c.zadd(key, score, member); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response> zrange(String key, int start, int end) { - Client c = getClient(key); - c.zrange(key, start, end); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING_ZSET); - } - - public Response> zrange(byte[] key, int start, int end) { - Client c = getClient(key); - c.zrange(key, start, end); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); - } - - public Response zrem(String key, String member) { - Client c = getClient(key); - c.zrem(key, member); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response zrem(byte[] key, byte[] member) { - Client c = getClient(key); - c.zrem(key, member); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response zincrby(String key, double score, String member) { - Client c = getClient(key); - c.zincrby(key, score, member); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.DOUBLE); - } - - public Response zincrby(byte[] key, double score, byte[] member) { - Client c = getClient(key); - c.zincrby(key, score, member); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.DOUBLE); - } - - public Response zrank(String key, String member) { - Client c = getClient(key); - c.zrank(key, member); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response zrank(byte[] key, byte[] member) { - Client c = getClient(key); - c.zrank(key, member); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response zrevrank(String key, String member) { - Client c = getClient(key); - c.zrevrank(key, member); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response zrevrank(byte[] key, byte[] member) { - Client c = getClient(key); - c.zrevrank(key, member); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response> zrevrange(String key, int start, int end) { - Client c = getClient(key); - c.zrevrange(key, start, end); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING_ZSET); - } - - public Response> zrevrange(byte[] key, int start, int end) { - Client c = getClient(key); - c.zrevrange(key, start, end); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); - } - - public Response> zrangeWithScores(String key, int start, int end) { - Client c = getClient(key); - c.zrangeWithScores(key, start, end); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.TUPLE_ZSET); - } - - public Response> zrangeWithScores(byte[] key, int start, int end) { - Client c = getClient(key); - c.zrangeWithScores(key, start, end); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.TUPLE_ZSET); - } - - public Response> zrevrangeWithScores(String key, int start, int end) { - Client c = getClient(key); - c.zrevrangeWithScores(key, start, end); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.TUPLE_ZSET); - } - - public Response> zrevrangeWithScores(byte[] key, int start, int end) { - Client c = getClient(key); - c.zrevrangeWithScores(key, start, end); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.TUPLE_ZSET); - } - - public Response zcard(String key) { - Client c = getClient(key); - c.zcard(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response zcard(byte[] key) { - Client c = getClient(key); - c.zcard(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response zscore(String key, String member) { - Client c = getClient(key); - c.zscore(key, member); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.DOUBLE); - } - - public Response zscore(byte[] key, byte[] member) { - Client c = getClient(key); - c.zscore(key, member); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.DOUBLE); - } - - public Response> sort(String key) { - Client c = getClient(key); - c.sort(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING_LIST); - } - - public Response> sort(byte[] key) { - Client c = getClient(key); - c.sort(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.BYTE_ARRAY_LIST); - } - - public Response> sort(String key, SortingParams sortingParameters) { - Client c = getClient(key); - c.sort(key, sortingParameters); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING_LIST); - } - - public Response> sort(byte[] key, SortingParams sortingParameters) { - Client c = getClient(key); - c.sort(key, sortingParameters); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.BYTE_ARRAY_LIST); - } - - public Response zcount(String key, double min, double max) { - Client c = getClient(key); - c.zcount(key, min, max); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response zcount(byte[] key, double min, double max) { - Client c = getClient(key); - c.zcount(key, toByteArray(min), toByteArray(max)); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response> zrevrangeByScore(String key, String max, String min) { - Client c = getClient(key); - c.zrevrangeByScore(key, min, max); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING_ZSET); - } - - public Response> zrevrangeByScore(String key, double max, double min) { - Client c = getClient(key); - c.zrevrangeByScore(key, min, max); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING_ZSET); - } - - public Response> zrevrangeByScore(byte[] key, double max, double min) { - Client c = getClient(key); - c.zrevrangeByScore(key, toByteArray(min), toByteArray(max)); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); - } - - public Response> zrevrangeByScore(byte[] key, byte[] max, byte[] min) { - Client c = getClient(key); - c.zrevrangeByScore(key, min, max); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); - } - - public Response> zrevrangeByScore(String key, double max, double min, int offset, int count) { - Client c = getClient(key); - c.zrevrangeByScore(key, min, max, offset, count); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING_ZSET); - } - - public Response> zrevrangeByScore(byte[] key, double max, double min, int offset, int count) { - Client c = getClient(key); - c.zrevrangeByScore(key, toByteArray(min), toByteArray(max), offset, count); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); - } - - public Response> zrevrangeByScore(byte[] key, byte[] max, byte[] min, int offset, int count) { - Client c = getClient(key); - c.zrevrangeByScore(key, min, max, offset, count); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); - } - - public Response> zrangeByScore(String key, String min, String max) { - Client c = getClient(key); - c.zrangeByScore(key, min, max); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING_ZSET); - } - - public Response> zrangeByScore(String key, double min, double max) { - Client c = getClient(key); - c.zrangeByScore(key, min, max); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING_ZSET); - } - - public Response> zrangeByScore(byte[] key, double min, double max) { - Client c = getClient(key); - c.zrangeByScore(key, toByteArray(min), toByteArray(max)); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); - } - - public Response> zrangeByScore(byte[] key, byte[] min, byte[] max) { - Client c = getClient(key); - c.zrangeByScore(key, min, max); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); - } - - public Response> zrangeByScore(String key, double min, double max, - int offset, int count) { - Client c = getClient(key); - c.zrangeByScore(key, min, max, offset, count); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING_ZSET); - } - - public Response> zrangeByScore(byte[] key, double min, double max, - int offset, int count) { - Client c = getClient(key); - c.zrangeByScore(key, toByteArray(min), toByteArray(max), offset, count); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); - } - - public Response> zrangeByScore(byte[] key, byte[] min, byte[] max, - int offset, int count) { - Client c = getClient(key); - c.zrangeByScore(key, min, max, offset, count); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.BYTE_ARRAY_ZSET); - } - - public Response> zrangeByScoreWithScores(String key, double min, double max) { - Client c = getClient(key); - c.zrangeByScoreWithScores(key, min, max); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.TUPLE_ZSET); - } - - public Response> zrangeByScoreWithScores(byte[] key, double min, double max) { - Client c = getClient(key); - c.zrangeByScoreWithScores(key, toByteArray(min), toByteArray(max)); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.TUPLE_ZSET); - } - - public Response> zrangeByScoreWithScores(byte[] key, byte[] min, byte[] max) { - Client c = getClient(key); - c.zrangeByScoreWithScores(key, min, max); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.TUPLE_ZSET); - } - - public Response> zrangeByScoreWithScores(String key, double min, double max, - int offset, int count) { - Client c = getClient(key); - c.zrangeByScoreWithScores(key, min, max, offset, count); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.TUPLE_ZSET); - } - - public Response> zrangeByScoreWithScores(byte[] key, double min, double max, - int offset, int count) { - Client c = getClient(key); - c.zrangeByScoreWithScores(key, toByteArray(min), toByteArray(max), offset, count); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.TUPLE_ZSET); - } - - public Response> zrangeByScoreWithScores(byte[] key, byte[] min, byte[] max, - int offset, int count) { - Client c = getClient(key); - c.zrangeByScoreWithScores(key, min, max, offset, count); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.TUPLE_ZSET); - } - - public Response> zrevrangeByScoreWithScores(String key, double max, double min) { - Client c = getClient(key); - c.zrevrangeByScoreWithScores(key, min, max); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.TUPLE_ZSET); - } - - public Response> zrevrangeByScoreWithScores(byte[] key, double max, double min) { - Client c = getClient(key); - c.zrevrangeByScoreWithScores(key, toByteArray(min), toByteArray(max)); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.TUPLE_ZSET); - } - - public Response> zrevrangeByScoreWithScores(byte[] key, byte[] max, byte[] min) { - Client c = getClient(key); - c.zrevrangeByScoreWithScores(key, min, max); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.TUPLE_ZSET); - } - - public Response> zrevrangeByScoreWithScores(String key, double max, double min, int offset, int count) { - Client c = getClient(key); - c.zrevrangeByScoreWithScores(key, min, max, offset, count); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.TUPLE_ZSET); - } - - public Response> zrevrangeByScoreWithScores(byte[] key, double max, double min, int offset, int count) { - Client c = getClient(key); - c.zrevrangeByScoreWithScores(key, toByteArray(min), toByteArray(max), offset, count); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.TUPLE_ZSET); - } - - public Response> zrevrangeByScoreWithScores(byte[] key, byte[] max, byte[] min, int offset, int count) { - Client c = getClient(key); - c.zrevrangeByScoreWithScores(key, min, max, offset, count); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.TUPLE_ZSET); - } - - public Response zremrangeByRank(String key, int start, int end) { - Client c = getClient(key); - c.zremrangeByRank(key, start, end); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response zremrangeByRank(byte[] key, int start, int end) { - Client c = getClient(key); - c.zremrangeByRank(key, start, end); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response zremrangeByScore(String key, double start, double end) { - Client c = getClient(key); - c.zremrangeByScore(key, start, end); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response zremrangeByScore(byte[] key, double start, double end) { - Client c = getClient(key); - c.zremrangeByScore(key, toByteArray(start), toByteArray(end)); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response zremrangeByScore(byte[] key, byte[] start, byte[] end) { - Client c = getClient(key); - c.zremrangeByScore(key, start, end); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response linsert(String key, LIST_POSITION where, String pivot, - String value) { - Client c = getClient(key); - c.linsert(key, where, pivot, value); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response linsert(byte[] key, LIST_POSITION where, byte[] pivot, - byte[] value) { - Client c = getClient(key); - c.linsert(key, where, pivot, value); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response getbit(String key, long offset) { - Client c = getClient(key); - c.getbit(key, offset); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.BOOLEAN); - } - - public Response getbit(byte[] key, long offset) { - Client c = getClient(key); - c.getbit(key, offset); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.BOOLEAN); - } - - public Response setbit(String key, long offset, boolean value) { - Client c = getClient(key); - c.setbit(key, offset, value); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.BOOLEAN); - } - - public Response setbit(byte[] key, long offset, byte[] value) { - Client c = getClient(key); - c.setbit(key, offset, value); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.BOOLEAN); - } - - public Response setrange(String key, long offset, String value) { - Client c = getClient(key); - c.setrange(key, offset, value); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response setrange(byte[] key, long offset, byte[] value) { - Client c = getClient(key); - c.setrange(key, offset, value); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response getrange(String key, long startOffset, long endOffset) { - Client c = getClient(key); - c.getrange(key, startOffset, endOffset); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.STRING); - } - - public Response getrange(byte[] key, long startOffset, long endOffset) { - Client c = getClient(key); - c.getrange(key, startOffset, endOffset); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response bitcount(String key) { - Client c = getClient(key); - c.bitcount(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response bitcount(String key, long start, long end) { - Client c = getClient(key); - c.bitcount(key, start, end); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response bitcount(byte[] key) { - Client c = getClient(key); - c.bitcount(key); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - - public Response bitcount(byte[] key, long start, long end) { - Client c = getClient(key); - c.bitcount(key, start, end); - results.add(new FutureResult(c)); - return getResponse(BuilderFactory.LONG); - } - public List getResults() { List r = new ArrayList(); for (FutureResult fr : results) { @@ -1353,15 +69,19 @@ public class ShardedJedisPipeline extends Queable implements BinaryRedisPipeline public void execute() { } - private Client getClient(String key) { + @Override + protected Client getClient(String key) { Client client = jedis.getShard(key).getClient(); clients.add(client); + results.add(new FutureResult(client)); return client; } - private Client getClient(byte[] key) { + @Override + protected Client getClient(byte[] key) { Client client = jedis.getShard(key).getClient(); clients.add(client); + results.add(new FutureResult(client)); return client; } } \ No newline at end of file diff --git a/src/main/java/redis/clients/jedis/Transaction.java b/src/main/java/redis/clients/jedis/Transaction.java index 1629b59..bca7157 100644 --- a/src/main/java/redis/clients/jedis/Transaction.java +++ b/src/main/java/redis/clients/jedis/Transaction.java @@ -8,7 +8,7 @@ import java.util.List; /** * Transaction is nearly identical to Pipeline, only differences are the multi/discard behaviors */ -public class Transaction extends PipelineBase { +public class Transaction extends MultiKeyPipelineBase { protected boolean inTransaction = true; @@ -20,6 +20,16 @@ public class Transaction extends PipelineBase { this.client = client; } + @Override + protected Client getClient(String key) { + return client; + } + + @Override + protected Client getClient(byte[] key) { + return client; + } + public List exec() { client.exec(); client.getAll(1); // Discard all but the last reply diff --git a/src/main/java/redis/clients/jedis/TransactionBlock.java b/src/main/java/redis/clients/jedis/TransactionBlock.java index 87df232..e784e19 100644 --- a/src/main/java/redis/clients/jedis/TransactionBlock.java +++ b/src/main/java/redis/clients/jedis/TransactionBlock.java @@ -13,6 +13,6 @@ public abstract class TransactionBlock extends Transaction { public abstract void execute() throws JedisException; public void setClient(Client client) { - this.client = client; + this.client = client; } }