Add alternative pipeline usage

This commit is contained in:
Jonathan Leibiusky
2010-11-27 15:44:43 -03:00
parent f8636ec16b
commit 8043f12e20
10 changed files with 1122 additions and 104 deletions

View File

@@ -707,8 +707,7 @@ public class BinaryJedis implements BinaryJedisCommands {
* @return If the field already exists, 0 is returned, otherwise if a new * @return If the field already exists, 0 is returned, otherwise if a new
* field is created 1 is returned. * field is created 1 is returned.
*/ */
public Long hsetnx(final byte[] key, final byte[] field, public Long hsetnx(final byte[] key, final byte[] field, final byte[] value) {
final byte[] value) {
checkIsInMulti(); checkIsInMulti();
client.hsetnx(key, field, value); client.hsetnx(key, field, value);
return client.getIntegerReply(); return client.getIntegerReply();
@@ -1454,8 +1453,7 @@ public class BinaryJedis implements BinaryJedisCommands {
* the element was already a member of the sorted set and the score * the element was already a member of the sorted set and the score
* was updated * was updated
*/ */
public Long zadd(final byte[] key, final double score, public Long zadd(final byte[] key, final double score, final byte[] member) {
final byte[] member) {
checkIsInMulti(); checkIsInMulti();
client.zadd(key, score, member); client.zadd(key, score, member);
return client.getIntegerReply(); return client.getIntegerReply();
@@ -1880,8 +1878,8 @@ public class BinaryJedis implements BinaryJedisCommands {
* @param dstkey * @param dstkey
* @return The number of elements of the list at dstkey. * @return The number of elements of the list at dstkey.
*/ */
public Long sort(final byte[] key, public Long sort(final byte[] key, final SortingParams sortingParameters,
final SortingParams sortingParameters, final byte[] dstkey) { final byte[] dstkey) {
checkIsInMulti(); checkIsInMulti();
client.sort(key, sortingParameters, dstkey); client.sort(key, sortingParameters, dstkey);
return client.getIntegerReply(); return client.getIntegerReply();
@@ -2018,12 +2016,16 @@ public class BinaryJedis implements BinaryJedisCommands {
return client.getStatusCodeReply(); return client.getStatusCodeReply();
} }
public List<Object> pipelined(final JedisPipeline jedisPipeline) { public List<Object> pipelined(final PipelineBlock jedisPipeline) {
jedisPipeline.setClient(client); jedisPipeline.setClient(client);
jedisPipeline.execute(); jedisPipeline.execute();
return client.getAll(); return client.getAll();
} }
public Pipeline pipelined() {
return new Pipeline(client);
}
public void subscribe(final JedisPubSub jedisPubSub, public void subscribe(final JedisPubSub jedisPubSub,
final String... channels) { final String... channels) {
client.setTimeoutInfinite(); client.setTimeoutInfinite();
@@ -2337,8 +2339,7 @@ public class BinaryJedis implements BinaryJedisCommands {
* operation * operation
* *
*/ */
public Long zremrangeByRank(final byte[] key, final int start, public Long zremrangeByRank(final byte[] key, final int start, final int end) {
final int end) {
checkIsInMulti(); checkIsInMulti();
client.zremrangeByRank(key, start, end); client.zremrangeByRank(key, start, end);
return client.getIntegerReply(); return client.getIntegerReply();

View File

@@ -6,7 +6,7 @@ import java.util.Map.Entry;
import redis.clients.util.SafeEncoder; import redis.clients.util.SafeEncoder;
public class Client extends BinaryClient { public class Client extends BinaryClient implements Commands {
public Client(final String host) { public Client(final String host) {
super(host); super(host);
} }

View File

@@ -0,0 +1,217 @@
package redis.clients.jedis;
import java.util.Map;
import redis.clients.jedis.BinaryClient.LIST_POSITION;
public interface Commands {
public void set(final String key, final String value);
public void get(final String key);
public void exists(final String key);
public void del(final String... keys);
public void type(final String key);
public void keys(final String pattern);
public void rename(final String oldkey, final String newkey);
public void renamenx(final String oldkey, final String newkey);
public void expire(final String key, final int seconds);
public void expireAt(final String key, final long unixTime);
public void ttl(final String key);
public void move(final String key, final int dbIndex);
public void getSet(final String key, final String value);
public void mget(final String... keys);
public void setnx(final String key, final String value);
public void setex(final String key, final int seconds, final String value);
public void mset(final String... keysvalues);
public void msetnx(final String... keysvalues);
public void decrBy(final String key, final int integer);
public void decr(final String key);
public void incrBy(final String key, final int integer);
public void incr(final String key);
public void append(final String key, final String value);
public void substr(final String key, final int start, final int end);
public void hset(final String key, final String field, final String value);
public void hget(final String key, final String field);
public void hsetnx(final String key, final String field, final String value);
public void hmset(final String key, final Map<String, String> hash);
public void hmget(final String key, final String... fields);
public void hincrBy(final String key, final String field, final int value);
public void hexists(final String key, final String field);
public void hdel(final String key, final String field);
public void hlen(final String key);
public void hkeys(final String key);
public void hvals(final String key);
public void hgetAll(final String key);
public void rpush(final String key, final String string);
public void lpush(final String key, final String string);
public void llen(final String key);
public void lrange(final String key, final int start, final int end);
public void ltrim(final String key, final int start, final int end);
public void lindex(final String key, final int index);
public void lset(final String key, final int index, final String value);
public void lrem(final String key, int count, final String value);
public void lpop(final String key);
public void rpop(final String key);
public void rpoplpush(final String srckey, final String dstkey);
public void sadd(final String key, final String member);
public void smembers(final String key);
public void srem(final String key, final String member);
public void spop(final String key);
public void smove(final String srckey, final String dstkey,
final String member);
public void scard(final String key);
public void sismember(final String key, final String member);
public void sinter(final String... keys);
public void sinterstore(final String dstkey, final String... keys);
public void sunion(final String... keys);
public void sunionstore(final String dstkey, final String... keys);
public void sdiff(final String... keys);
public void sdiffstore(final String dstkey, final String... keys);
public void srandmember(final String key);
public void zadd(final String key, final double score, final String member);
public void zrange(final String key, final int start, final int end);
public void zrem(final String key, final String member);
public void zincrby(final String key, final double score,
final String member);
public void zrank(final String key, final String member);
public void zrevrank(final String key, final String member);
public void zrevrange(final String key, final int start, final int end);
public void zrangeWithScores(final String key, final int start,
final int end);
public void zrevrangeWithScores(final String key, final int start,
final int end);
public void zcard(final String key);
public void zscore(final String key, final String member);
public void watch(final String... keys);
public void sort(final String key);
public void sort(final String key, final SortingParams sortingParameters);
public void blpop(final String[] args);
public void sort(final String key, final SortingParams sortingParameters,
final String dstkey);
public void sort(final String key, final String dstkey);
public void brpop(final String[] args);
public void zcount(final String key, final double min, final double max);
public void zrangeByScore(final String key, final double min,
final double max);
public void zrangeByScore(final String key, final String min,
final String max);
public void zrangeByScore(final String key, final double min,
final double max, final int offset, int count);
public void zrangeByScoreWithScores(final String key, final double min,
final double max);
public void zrangeByScoreWithScores(final String key, final double min,
final double max, final int offset, final int count);
public void zremrangeByRank(final String key, final int start, final int end);
public void zremrangeByScore(final String key, final double start,
final double end);
public void zunionstore(final String dstkey, final String... sets);
public void zunionstore(final String dstkey, final ZParams params,
final String... sets);
public void zinterstore(final String dstkey, final String... sets);
public void zinterstore(final String dstkey, final ZParams params,
final String... sets);
public void strlen(final String key);
public void lpushx(final String key, final String string);
public void persist(final String key);
public void rpushx(final String key, final String string);
public void echo(final String string);
public void linsert(final String key, final LIST_POSITION where,
final String pivot, final String value);
}

View File

@@ -30,7 +30,6 @@ public class Jedis extends BinaryJedis implements JedisCommands {
super(shardInfo); super(shardInfo);
} }
@Override
public String ping() { public String ping() {
runChecks(); runChecks();
client.ping(); client.ping();
@@ -72,7 +71,7 @@ public class Jedis extends BinaryJedis implements JedisCommands {
/** /**
* Ask the server to silently close the connection. * Ask the server to silently close the connection.
*/ */
@Override
public void quit() { public void quit() {
runChecks(); runChecks();
client.quit(); client.quit();
@@ -136,7 +135,7 @@ public class Jedis extends BinaryJedis implements JedisCommands {
* *
* @return Status code reply * @return Status code reply
*/ */
@Override
public String flushDB() { public String flushDB() {
runChecks(); runChecks();
client.flushDB(); client.flushDB();
@@ -235,7 +234,7 @@ public class Jedis extends BinaryJedis implements JedisCommands {
* *
* @return Integer reply * @return Integer reply
*/ */
@Override
public Long dbSize() { public Long dbSize() {
runChecks(); runChecks();
client.dbSize(); client.dbSize();
@@ -336,7 +335,7 @@ public class Jedis extends BinaryJedis implements JedisCommands {
* @param index * @param index
* @return Status code reply * @return Status code reply
*/ */
@Override
public String select(final int index) { public String select(final int index) {
runChecks(); runChecks();
client.select(index); client.select(index);
@@ -368,7 +367,7 @@ public class Jedis extends BinaryJedis implements JedisCommands {
* *
* @return Status code reply * @return Status code reply
*/ */
@Override
public String flushAll() { public String flushAll() {
runChecks(); runChecks();
client.flushAll(); client.flushAll();
@@ -706,8 +705,7 @@ public class Jedis extends BinaryJedis implements JedisCommands {
* @return If the field already exists, 0 is returned, otherwise if a new * @return If the field already exists, 0 is returned, otherwise if a new
* field is created 1 is returned. * field is created 1 is returned.
*/ */
public Long hsetnx(final String key, final String field, public Long hsetnx(final String key, final String field, final String value) {
final String value) {
runChecks(); runChecks();
client.hsetnx(key, field, value); client.hsetnx(key, field, value);
return client.getIntegerReply(); return client.getIntegerReply();
@@ -1453,8 +1451,7 @@ public class Jedis extends BinaryJedis implements JedisCommands {
* the element was already a member of the sorted set and the score * the element was already a member of the sorted set and the score
* was updated * was updated
*/ */
public Long zadd(final String key, final double score, public Long zadd(final String key, final double score, final String member) {
final String member) {
runChecks(); runChecks();
client.zadd(key, score, member); client.zadd(key, score, member);
return client.getIntegerReply(); return client.getIntegerReply();
@@ -1629,14 +1626,12 @@ public class Jedis extends BinaryJedis implements JedisCommands {
return (score != null ? new Double(score) : null); return (score != null ? new Double(score) : null);
} }
@Override
public Transaction multi() { public Transaction multi() {
client.multi(); client.multi();
client.getStatusCodeReply(); client.getStatusCodeReply();
return new Transaction(client); return new Transaction(client);
} }
@Override
public List<Object> multi(TransactionBlock jedisTransaction) { public List<Object> multi(TransactionBlock jedisTransaction) {
List<Object> results = null; List<Object> results = null;
try { try {
@@ -1664,7 +1659,6 @@ public class Jedis extends BinaryJedis implements JedisCommands {
} }
} }
@Override
public void connect() throws UnknownHostException, IOException { public void connect() throws UnknownHostException, IOException {
if (!client.isConnected()) { if (!client.isConnected()) {
client.connect(); client.connect();
@@ -1674,7 +1668,6 @@ public class Jedis extends BinaryJedis implements JedisCommands {
} }
} }
@Override
public void disconnect() throws IOException { public void disconnect() throws IOException {
client.disconnect(); client.disconnect();
} }
@@ -1890,8 +1883,8 @@ public class Jedis extends BinaryJedis implements JedisCommands {
* @param dstkey * @param dstkey
* @return The number of elements of the list at dstkey. * @return The number of elements of the list at dstkey.
*/ */
public Long sort(final String key, public Long sort(final String key, final SortingParams sortingParameters,
final SortingParams sortingParameters, final String dstkey) { final String dstkey) {
runChecks(); runChecks();
client.sort(key, sortingParameters, dstkey); client.sort(key, sortingParameters, dstkey);
return client.getIntegerReply(); return client.getIntegerReply();
@@ -2022,34 +2015,24 @@ public class Jedis extends BinaryJedis implements JedisCommands {
* @param password * @param password
* @return Status code reply * @return Status code reply
*/ */
@Override
public String auth(final String password) { public String auth(final String password) {
runChecks(); runChecks();
client.auth(password); client.auth(password);
return client.getStatusCodeReply(); return client.getStatusCodeReply();
} }
@Override
public List<Object> pipelined(JedisPipeline jedisPipeline) {
jedisPipeline.setClient(client);
jedisPipeline.execute();
return client.getAll();
}
@Override
public void subscribe(JedisPubSub jedisPubSub, String... channels) { public void subscribe(JedisPubSub jedisPubSub, String... channels) {
client.setTimeoutInfinite(); client.setTimeoutInfinite();
jedisPubSub.proceed(client, channels); jedisPubSub.proceed(client, channels);
client.rollbackTimeout(); client.rollbackTimeout();
} }
@Override
public Long publish(String channel, String message) { public Long publish(String channel, String message) {
client.publish(channel, message); client.publish(channel, message);
return client.getIntegerReply(); return client.getIntegerReply();
} }
@Override
public void psubscribe(JedisPubSub jedisPubSub, String... patterns) { public void psubscribe(JedisPubSub jedisPubSub, String... patterns) {
client.setTimeoutInfinite(); client.setTimeoutInfinite();
jedisPubSub.proceedWithPatterns(client, patterns); jedisPubSub.proceedWithPatterns(client, patterns);
@@ -2351,8 +2334,7 @@ public class Jedis extends BinaryJedis implements JedisCommands {
* operation * operation
* *
*/ */
public Long zremrangeByRank(final String key, final int start, public Long zremrangeByRank(final String key, final int start, final int end) {
final int end) {
runChecks(); runChecks();
client.zremrangeByRank(key, start, end); client.zremrangeByRank(key, start, end);
return client.getIntegerReply(); return client.getIntegerReply();

View File

@@ -1,11 +0,0 @@
package redis.clients.jedis;
public abstract class JedisPipeline {
protected Client client;
public void setClient(Client client) {
this.client = client;
}
public abstract void execute();
}

View File

@@ -0,0 +1,409 @@
package redis.clients.jedis;
import java.util.List;
import java.util.Map;
import redis.clients.jedis.BinaryClient.LIST_POSITION;
public class Pipeline implements Commands {
private Client client;
public Pipeline(Client client) {
this.client = client;
}
public void append(String key, String value) {
client.append(key, value);
}
public void blpop(String[] args) {
client.blpop(args);
}
public void brpop(String[] args) {
client.brpop(args);
}
public void decr(String key) {
client.decr(key);
}
public void decrBy(String key, int integer) {
client.decrBy(key, integer);
}
public void del(String... keys) {
client.del(keys);
}
public void echo(String string) {
client.echo(string);
}
public void exists(String key) {
client.exists(key);
}
public void expire(String key, int seconds) {
client.expire(key, seconds);
}
public void expireAt(String key, long unixTime) {
client.expireAt(key, unixTime);
}
public void get(String key) {
client.get(key);
}
public void getSet(String key, String value) {
client.getSet(key, value);
}
public void hdel(String key, String field) {
client.hdel(key, field);
}
public void hexists(String key, String field) {
client.hexists(key, field);
}
public void hget(String key, String field) {
client.hget(key, field);
}
public void hgetAll(String key) {
client.hgetAll(key);
}
public void hincrBy(String key, String field, int value) {
client.hincrBy(key, field, value);
}
public void hkeys(String key) {
client.hkeys(key);
}
public void hlen(String key) {
client.hlen(key);
}
public void hmget(String key, String... fields) {
client.hmget(key, fields);
}
public void hmset(String key, Map<String, String> hash) {
client.hmset(key, hash);
}
public void hset(String key, String field, String value) {
client.hset(key, field, value);
}
public void hsetnx(String key, String field, String value) {
client.hsetnx(key, field, value);
}
public void hvals(String key) {
client.hvals(key);
}
public void incr(String key) {
client.incr(key);
}
public void incrBy(String key, int integer) {
client.incrBy(key, integer);
}
public void keys(String pattern) {
client.keys(pattern);
}
public void lindex(String key, int index) {
client.lindex(key, index);
}
public void linsert(String key, LIST_POSITION where, String pivot,
String value) {
client.linsert(key, where, pivot, value);
}
public void llen(String key) {
client.llen(key);
}
public void lpop(String key) {
client.lpop(key);
}
public void lpush(String key, String string) {
client.lpush(key, string);
}
public void lpushx(String key, String string) {
client.lpushx(key, string);
}
public void lrange(String key, int start, int end) {
client.lrange(key, start, end);
}
public void lrem(String key, int count, String value) {
client.lrem(key, count, value);
}
public void lset(String key, int index, String value) {
client.lset(key, index, value);
}
public void ltrim(String key, int start, int end) {
client.ltrim(key, start, end);
}
public void mget(String... keys) {
client.mget(keys);
}
public void move(String key, int dbIndex) {
client.move(key, dbIndex);
}
public void mset(String... keysvalues) {
client.mset(keysvalues);
}
public void msetnx(String... keysvalues) {
client.msetnx(keysvalues);
}
public void persist(String key) {
client.persist(key);
}
public void rename(String oldkey, String newkey) {
client.rename(oldkey, newkey);
}
public void renamenx(String oldkey, String newkey) {
client.renamenx(oldkey, newkey);
}
public void rpop(String key) {
client.rpop(key);
}
public void rpoplpush(String srckey, String dstkey) {
client.rpoplpush(srckey, dstkey);
}
public void rpush(String key, String string) {
client.rpush(key, string);
}
public void rpushx(String key, String string) {
client.rpushx(key, string);
}
public void sadd(String key, String member) {
client.sadd(key, member);
}
public void scard(String key) {
client.scard(key);
}
public void sdiff(String... keys) {
client.sdiff(keys);
}
public void sdiffstore(String dstkey, String... keys) {
client.sdiffstore(dstkey, keys);
}
public void set(String key, String value) {
client.set(key, value);
}
public void setex(String key, int seconds, String value) {
client.setex(key, seconds, value);
}
public void setnx(String key, String value) {
client.setnx(key, value);
}
public void sinter(String... keys) {
client.sinter(keys);
}
public void sinterstore(String dstkey, String... keys) {
client.sinterstore(dstkey, keys);
}
public void sismember(String key, String member) {
client.sismember(key, member);
}
public void smembers(String key) {
client.smembers(key);
}
public void smove(String srckey, String dstkey, String member) {
client.smove(srckey, dstkey, member);
}
public void sort(String key) {
client.sort(key);
}
public void sort(String key, SortingParams sortingParameters) {
client.sort(key, sortingParameters);
}
public void sort(String key, SortingParams sortingParameters, String dstkey) {
client.sort(key, sortingParameters, dstkey);
}
public void sort(String key, String dstkey) {
client.sort(key, dstkey);
}
public void spop(String key) {
client.spop(key);
}
public void srandmember(String key) {
client.srandmember(key);
}
public void srem(String key, String member) {
client.srem(key, member);
}
public void strlen(String key) {
client.strlen(key);
}
public void substr(String key, int start, int end) {
client.substr(key, start, end);
}
public void sunion(String... keys) {
client.sunion(keys);
}
public void sunionstore(String dstkey, String... keys) {
client.sunionstore(dstkey, keys);
}
public void ttl(String key) {
client.ttl(key);
}
public void type(String key) {
client.type(key);
}
public void watch(String... keys) {
client.watch(keys);
}
public void zadd(String key, double score, String member) {
client.zadd(key, score, member);
}
public void zcard(String key) {
client.zcard(key);
}
public void zcount(String key, double min, double max) {
client.zcount(key, min, max);
}
public void zincrby(String key, double score, String member) {
client.zincrby(key, score, member);
}
public void zinterstore(String dstkey, String... sets) {
client.zinterstore(dstkey, sets);
}
public void zinterstore(String dstkey, ZParams params, String... sets) {
client.zinterstore(dstkey, params, sets);
}
public void zrange(String key, int start, int end) {
client.zrange(key, start, end);
}
public void zrangeByScore(String key, double min, double max) {
client.zrangeByScore(key, min, max);
}
public void zrangeByScore(String key, String min, String max) {
client.zrangeByScore(key, min, max);
}
public void zrangeByScore(String key, double min, double max, int offset,
int count) {
client.zrangeByScore(key, min, max, offset, count);
}
public void zrangeByScoreWithScores(String key, double min, double max) {
client.zrangeByScoreWithScores(key, min, max);
}
public void zrangeByScoreWithScores(String key, double min, double max,
int offset, int count) {
client.zrangeByScoreWithScores(key, min, max, offset, count);
}
public void zrangeWithScores(String key, int start, int end) {
client.zrangeWithScores(key, start, end);
}
public void zrank(String key, String member) {
client.zrank(key, member);
}
public void zrem(String key, String member) {
client.zrem(key, member);
}
public void zremrangeByRank(String key, int start, int end) {
client.zremrangeByRank(key, start, end);
}
public void zremrangeByScore(String key, double start, double end) {
client.zremrangeByScore(key, start, end);
}
public void zrevrange(String key, int start, int end) {
client.zrevrange(key, start, end);
}
public void zrevrangeWithScores(String key, int start, int end) {
client.zrevrangeWithScores(key, start, end);
}
public void zrevrank(String key, String member) {
client.zrevrank(key, member);
}
public void zscore(String key, String member) {
client.zscore(key, member);
}
public void zunionstore(String dstkey, String... sets) {
client.zunionstore(dstkey, sets);
}
public void zunionstore(String dstkey, ZParams params, String... sets) {
client.zunionstore(dstkey, params, sets);
}
public List<Object> execute() {
return client.getAll();
}
}

View File

@@ -0,0 +1,406 @@
package redis.clients.jedis;
import java.util.Map;
import redis.clients.jedis.BinaryClient.LIST_POSITION;
public abstract class PipelineBlock implements Commands {
private Client client;
public void setClient(Client client) {
this.client = client;
}
public void append(String key, String value) {
client.append(key, value);
}
public void blpop(String[] args) {
client.blpop(args);
}
public void brpop(String[] args) {
client.brpop(args);
}
public void decr(String key) {
client.decr(key);
}
public void decrBy(String key, int integer) {
client.decrBy(key, integer);
}
public void del(String... keys) {
client.del(keys);
}
public void echo(String string) {
client.echo(string);
}
public void exists(String key) {
client.exists(key);
}
public void expire(String key, int seconds) {
client.expire(key, seconds);
}
public void expireAt(String key, long unixTime) {
client.expireAt(key, unixTime);
}
public void get(String key) {
client.get(key);
}
public void getSet(String key, String value) {
client.getSet(key, value);
}
public void hdel(String key, String field) {
client.hdel(key, field);
}
public void hexists(String key, String field) {
client.hexists(key, field);
}
public void hget(String key, String field) {
client.hget(key, field);
}
public void hgetAll(String key) {
client.hgetAll(key);
}
public void hincrBy(String key, String field, int value) {
client.hincrBy(key, field, value);
}
public void hkeys(String key) {
client.hkeys(key);
}
public void hlen(String key) {
client.hlen(key);
}
public void hmget(String key, String... fields) {
client.hmget(key, fields);
}
public void hmset(String key, Map<String, String> hash) {
client.hmset(key, hash);
}
public void hset(String key, String field, String value) {
client.hset(key, field, value);
}
public void hsetnx(String key, String field, String value) {
client.hsetnx(key, field, value);
}
public void hvals(String key) {
client.hvals(key);
}
public void incr(String key) {
client.incr(key);
}
public void incrBy(String key, int integer) {
client.incrBy(key, integer);
}
public void keys(String pattern) {
client.keys(pattern);
}
public void lindex(String key, int index) {
client.lindex(key, index);
}
public void linsert(String key, LIST_POSITION where, String pivot,
String value) {
client.linsert(key, where, pivot, value);
}
public void llen(String key) {
client.llen(key);
}
public void lpop(String key) {
client.lpop(key);
}
public void lpush(String key, String string) {
client.lpush(key, string);
}
public void lpushx(String key, String string) {
client.lpushx(key, string);
}
public void lrange(String key, int start, int end) {
client.lrange(key, start, end);
}
public void lrem(String key, int count, String value) {
client.lrem(key, count, value);
}
public void lset(String key, int index, String value) {
client.lset(key, index, value);
}
public void ltrim(String key, int start, int end) {
client.ltrim(key, start, end);
}
public void mget(String... keys) {
client.mget(keys);
}
public void move(String key, int dbIndex) {
client.move(key, dbIndex);
}
public void mset(String... keysvalues) {
client.mset(keysvalues);
}
public void msetnx(String... keysvalues) {
client.msetnx(keysvalues);
}
public void persist(String key) {
client.persist(key);
}
public void rename(String oldkey, String newkey) {
client.rename(oldkey, newkey);
}
public void renamenx(String oldkey, String newkey) {
client.renamenx(oldkey, newkey);
}
public void rpop(String key) {
client.rpop(key);
}
public void rpoplpush(String srckey, String dstkey) {
client.rpoplpush(srckey, dstkey);
}
public void rpush(String key, String string) {
client.rpush(key, string);
}
public void rpushx(String key, String string) {
client.rpushx(key, string);
}
public void sadd(String key, String member) {
client.sadd(key, member);
}
public void scard(String key) {
client.scard(key);
}
public void sdiff(String... keys) {
client.sdiff(keys);
}
public void sdiffstore(String dstkey, String... keys) {
client.sdiffstore(dstkey, keys);
}
public void set(String key, String value) {
client.set(key, value);
}
public void setex(String key, int seconds, String value) {
client.setex(key, seconds, value);
}
public void setnx(String key, String value) {
client.setnx(key, value);
}
public void sinter(String... keys) {
client.sinter(keys);
}
public void sinterstore(String dstkey, String... keys) {
client.sinterstore(dstkey, keys);
}
public void sismember(String key, String member) {
client.sismember(key, member);
}
public void smembers(String key) {
client.smembers(key);
}
public void smove(String srckey, String dstkey, String member) {
client.smove(srckey, dstkey, member);
}
public void sort(String key) {
client.sort(key);
}
public void sort(String key, SortingParams sortingParameters) {
client.sort(key, sortingParameters);
}
public void sort(String key, SortingParams sortingParameters, String dstkey) {
client.sort(key, sortingParameters, dstkey);
}
public void sort(String key, String dstkey) {
client.sort(key, dstkey);
}
public void spop(String key) {
client.spop(key);
}
public void srandmember(String key) {
client.srandmember(key);
}
public void srem(String key, String member) {
client.srem(key, member);
}
public void strlen(String key) {
client.strlen(key);
}
public void substr(String key, int start, int end) {
client.substr(key, start, end);
}
public void sunion(String... keys) {
client.sunion(keys);
}
public void sunionstore(String dstkey, String... keys) {
client.sunionstore(dstkey, keys);
}
public void ttl(String key) {
client.ttl(key);
}
public void type(String key) {
client.type(key);
}
public void watch(String... keys) {
client.watch(keys);
}
public void zadd(String key, double score, String member) {
client.zadd(key, score, member);
}
public void zcard(String key) {
client.zcard(key);
}
public void zcount(String key, double min, double max) {
client.zcount(key, min, max);
}
public void zincrby(String key, double score, String member) {
client.zincrby(key, score, member);
}
public void zinterstore(String dstkey, String... sets) {
client.zinterstore(dstkey, sets);
}
public void zinterstore(String dstkey, ZParams params, String... sets) {
client.zinterstore(dstkey, params, sets);
}
public void zrange(String key, int start, int end) {
client.zrange(key, start, end);
}
public void zrangeByScore(String key, double min, double max) {
client.zrangeByScore(key, min, max);
}
public void zrangeByScore(String key, String min, String max) {
client.zrangeByScore(key, min, max);
}
public void zrangeByScore(String key, double min, double max, int offset,
int count) {
client.zrangeByScore(key, min, max, offset, count);
}
public void zrangeByScoreWithScores(String key, double min, double max) {
client.zrangeByScoreWithScores(key, min, max);
}
public void zrangeByScoreWithScores(String key, double min, double max,
int offset, int count) {
client.zrangeByScoreWithScores(key, min, max, offset, count);
}
public void zrangeWithScores(String key, int start, int end) {
client.zrangeWithScores(key, start, end);
}
public void zrank(String key, String member) {
client.zrank(key, member);
}
public void zrem(String key, String member) {
client.zrem(key, member);
}
public void zremrangeByRank(String key, int start, int end) {
client.zremrangeByRank(key, start, end);
}
public void zremrangeByScore(String key, double start, double end) {
client.zremrangeByScore(key, start, end);
}
public void zrevrange(String key, int start, int end) {
client.zrevrange(key, start, end);
}
public void zrevrangeWithScores(String key, int start, int end) {
client.zrevrangeWithScores(key, start, end);
}
public void zrevrank(String key, String member) {
client.zrevrank(key, member);
}
public void zscore(String key, String member) {
client.zscore(key, member);
}
public void zunionstore(String dstkey, String... sets) {
client.zunionstore(dstkey, sets);
}
public void zunionstore(String dstkey, ZParams params, String... sets) {
client.zunionstore(dstkey, params, sets);
}
public abstract void execute();
}

View File

@@ -5,12 +5,12 @@ import java.net.UnknownHostException;
import java.util.List; import java.util.List;
import org.junit.Assert; import org.junit.Assert;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
import redis.clients.jedis.Jedis; import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPipeline; import redis.clients.jedis.PipelineBlock;
import redis.clients.jedis.Pipeline;
import redis.clients.jedis.Protocol; import redis.clients.jedis.Protocol;
import redis.clients.jedis.tests.HostAndPortUtil.HostAndPort; import redis.clients.jedis.tests.HostAndPortUtil.HostAndPort;
@@ -29,15 +29,29 @@ public class PipeliningTest extends Assert {
@Test @Test
public void pipeline() throws UnknownHostException, IOException { public void pipeline() throws UnknownHostException, IOException {
List<Object> results = jedis.pipelined(new JedisPipeline() { List<Object> results = jedis.pipelined(new PipelineBlock() {
public void execute() { public void execute() {
client.set("foo", "bar"); set("foo", "bar");
client.get("foo"); get("foo");
} }
}); });
assertEquals(2, results.size()); assertEquals(2, results.size());
assertArrayEquals("OK".getBytes(Protocol.CHARSET), (byte[])results.get(0)); assertArrayEquals("OK".getBytes(Protocol.CHARSET), (byte[]) results
assertArrayEquals("bar".getBytes(Protocol.CHARSET), (byte[])results.get(1)); .get(0));
assertArrayEquals("bar".getBytes(Protocol.CHARSET), (byte[]) results
.get(1));
Pipeline p = jedis.pipelined();
p.set("foo", "bar");
p.get("foo");
results = p.execute();
assertEquals(2, results.size());
assertArrayEquals("OK".getBytes(Protocol.CHARSET), (byte[]) results
.get(0));
assertArrayEquals("bar".getBytes(Protocol.CHARSET), (byte[]) results
.get(1));
} }
} }

View File

@@ -5,7 +5,7 @@ import java.net.UnknownHostException;
import java.util.Calendar; import java.util.Calendar;
import redis.clients.jedis.Jedis; import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPipeline; import redis.clients.jedis.PipelineBlock;
import redis.clients.jedis.tests.HostAndPortUtil; import redis.clients.jedis.tests.HostAndPortUtil;
import redis.clients.jedis.tests.HostAndPortUtil.HostAndPort; import redis.clients.jedis.tests.HostAndPortUtil.HostAndPort;
@@ -22,12 +22,12 @@ public class PipelinedGetSetBenchmark {
long begin = Calendar.getInstance().getTimeInMillis(); long begin = Calendar.getInstance().getTimeInMillis();
jedis.pipelined(new JedisPipeline() { jedis.pipelined(new PipelineBlock() {
public void execute() { public void execute() {
for (int n = 0; n <= TOTAL_OPERATIONS; n++) { for (int n = 0; n <= TOTAL_OPERATIONS; n++) {
String key = "foo" + n; String key = "foo" + n;
client.set(key, "bar" + n); set(key, "bar" + n);
client.get(key); get(key);
} }
} }
}); });