Binary versions of ZREVRANGEBYSCORE methods, some code cleanup

This commit is contained in:
lmar
2011-03-08 20:19:54 +01:00
parent 3fc43e7dec
commit 58aa95c464
10 changed files with 285 additions and 39 deletions

View File

@@ -486,6 +486,10 @@ public class BinaryClient extends Connection {
final byte[] max) {
sendCommand(ZRANGEBYSCORE, key, min, max);
}
public void zrevrangeByScore(final byte[] key, final byte[] max,
final byte[] min) {
sendCommand(ZREVRANGEBYSCORE, key, max, min);
}
public void zrangeByScore(final byte[] key, final double min,
final double max, final int offset, int count) {

View File

@@ -2326,6 +2326,44 @@ public class BinaryJedis implements BinaryJedisCommands {
return set;
}
public Set<byte[]> zrevrangeByScore(final byte[] key, final double max,
final double min) {
checkIsInMulti();
client.zrevrangeByScore(key, max, min);
return new LinkedHashSet<byte[]>(client.getBinaryMultiBulkReply());
}
public Set<byte[]> zrevrangeByScore(final byte[] key, final byte[] max,
final byte[] min) {
checkIsInMulti();
client.zrevrangeByScore(key, max, min);
return new LinkedHashSet<byte[]>(client.getBinaryMultiBulkReply());
}
public Set<byte[]> zrevrangeByScore(final byte[] key, final double max,
final double min, final int offset, final int count) {
checkIsInMulti();
client.zrevrangeByScore(key, max, min, offset, count);
return new LinkedHashSet<byte[]>(client.getBinaryMultiBulkReply());
}
public Set<Tuple> zrevrangeByScoreWithScores(final byte[] key,
final double max, final double min) {
checkIsInMulti();
client.zrevrangeByScoreWithScores(key, max, min);
Set<Tuple> set = getBinaryTupledSet();
return set;
}
public Set<Tuple> zrevrangeByScoreWithScores(final byte[] key,
final double max, final double min, final int offset,
final int count) {
checkIsInMulti();
client.zrevrangeByScoreWithScores(key, max, min, offset, count);
Set<Tuple> set = getBinaryTupledSet();
return set;
}
/**
* Remove all elements in the sorted set at key with rank between start and
* end. Start and end are 0-based with rank 0 being the element with the

View File

@@ -139,6 +139,16 @@ public interface BinaryJedisCommands {
Set<Tuple> zrangeByScoreWithScores(byte[] key, double min, double max,
int offset, int count);
Set<byte[]> zrevrangeByScore(byte[] key, double max, double min);
Set<byte[]> zrevrangeByScore(byte[] key, double max, double min, int offset,
int count);
Set<Tuple> zrevrangeByScoreWithScores(byte[] key, double max, double min);
Set<Tuple> zrevrangeByScoreWithScores(byte[] key, double max, double min,
int offset, int count);
Long zremrangeByRank(byte[] key, int start, int end);
Long zremrangeByScore(byte[] key, double start, double end);

View File

@@ -357,6 +357,28 @@ public class BinaryShardedJedis extends Sharded<Jedis, JedisShardInfo>
return j.zrangeByScoreWithScores(key, min, max, offset, count);
}
public Set<byte[]> zrevrangeByScore(byte[] key, double max, double min) {
Jedis j = getShard(key);
return j.zrevrangeByScore(key, max, min);
}
public Set<byte[]> zrevrangeByScore(byte[] key, double max, double min,
int offset, int count) {
Jedis j = getShard(key);
return j.zrevrangeByScore(key, max, min, offset, count);
}
public Set<Tuple> zrevrangeByScoreWithScores(byte[] key, double max, double min) {
Jedis j = getShard(key);
return j.zrevrangeByScoreWithScores(key, max, min);
}
public Set<Tuple> zrevrangeByScoreWithScores(byte[] key, double max,
double min, int offset, int count) {
Jedis j = getShard(key);
return j.zrevrangeByScoreWithScores(key, max, min, offset, count);
}
public Long zremrangeByRank(byte[] key, int start, int end) {
Jedis j = getShard(key);
return j.zremrangeByRank(key, start, end);

View File

@@ -412,10 +412,6 @@ public class Client extends BinaryClient implements Commands {
final double max) {
zrangeByScore(SafeEncoder.encode(key), min, max);
}
public void zrevrangeByScore(final String key, final double max,
final double min) {
zrevrangeByScore(SafeEncoder.encode(key), max, min);
}
public void zrangeByScore(final String key, final String min,
final String max) {
@@ -427,25 +423,39 @@ public class Client extends BinaryClient implements Commands {
final double max, final int offset, int count) {
zrangeByScore(SafeEncoder.encode(key), min, max, offset, count);
}
public void zrevrangeByScore(final String key, final double max,
final double min, final int offset, int count) {
zrevrangeByScore(SafeEncoder.encode(key), max, min, offset, count);
}
public void zrangeByScoreWithScores(final String key, final double min,
final double max) {
zrangeByScoreWithScores(SafeEncoder.encode(key), min, max);
}
public void zrevrangeByScoreWithScores(final String key, final double max,
final double min) {
zrevrangeByScoreWithScores(SafeEncoder.encode(key), max, min);
}
public void zrangeByScoreWithScores(final String key, final double min,
final double max, final int offset, final int count) {
zrangeByScoreWithScores(SafeEncoder.encode(key), min, max, offset,
count);
}
public void zrevrangeByScore(final String key, final double max,
final double min) {
zrevrangeByScore(SafeEncoder.encode(key), max, min);
}
public void zrevrangeByScore(final String key, final String max,
final String min) {
zrevrangeByScore(SafeEncoder.encode(key), SafeEncoder.encode(max),
SafeEncoder.encode(min));
}
public void zrevrangeByScore(final String key, final double max,
final double min, final int offset, int count) {
zrevrangeByScore(SafeEncoder.encode(key), max, min, offset, count);
}
public void zrevrangeByScoreWithScores(final String key, final double max,
final double min) {
zrevrangeByScoreWithScores(SafeEncoder.encode(key), max, min);
}
public void zrevrangeByScoreWithScores(final String key, final double max,
final double min, final int offset, final int count) {
zrevrangeByScoreWithScores(SafeEncoder.encode(key), max, min, offset,

View File

@@ -197,6 +197,21 @@ public interface Commands {
public void zrangeByScoreWithScores(final String key, final double min,
final double max, final int offset, final int count);
public void zrevrangeByScore(final String key, final double max,
final double min);
public void zrevrangeByScore(final String key, final String max,
final String min);
public void zrevrangeByScore(final String key, final double max,
final double min, final int offset, int count);
public void zrevrangeByScoreWithScores(final String key, final double max,
final double min);
public void zrevrangeByScoreWithScores(final String key, final double max,
final double min, 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,

View File

@@ -2085,12 +2085,6 @@ public class Jedis extends BinaryJedis implements JedisCommands {
client.zrangeByScore(key, min, max);
return new LinkedHashSet<String>(client.getMultiBulkReply());
}
public Set<String> zrevrangeByScore(final String key, final double max,
final double min) {
runChecks();
client.zrevrangeByScore(key, max, min);
return new LinkedHashSet<String>(client.getMultiBulkReply());
}
public Set<String> zrangeByScore(final String key, final String min,
final String max) {
@@ -2161,12 +2155,6 @@ public class Jedis extends BinaryJedis implements JedisCommands {
client.zrangeByScore(key, min, max, offset, count);
return new LinkedHashSet<String>(client.getMultiBulkReply());
}
public Set<String> zrevrangeByScore(final String key, final double max,
final double min, final int offset, final int count) {
runChecks();
client.zrevrangeByScore(key, max, min, offset, count);
return new LinkedHashSet<String>(client.getMultiBulkReply());
}
/**
* Return the all the elements in the sorted set at key with a score between
@@ -2231,13 +2219,6 @@ public class Jedis extends BinaryJedis implements JedisCommands {
Set<Tuple> set = getTupledSet();
return set;
}
public Set<Tuple> zrevrangeByScoreWithScores(final String key,
final double max, final double min) {
runChecks();
client.zrevrangeByScoreWithScores(key, max, min);
Set<Tuple> set = getTupledSet();
return set;
}
/**
* Return the all the elements in the sorted set at key with a score between
@@ -2303,14 +2284,6 @@ public class Jedis extends BinaryJedis implements JedisCommands {
Set<Tuple> set = getTupledSet();
return set;
}
public Set<Tuple> zrevrangeByScoreWithScores(final String key,
final double max, final double min, final int offset,
final int count) {
runChecks();
client.zrevrangeByScoreWithScores(key, max, min, offset, count);
Set<Tuple> set = getTupledSet();
return set;
}
private Set<Tuple> getTupledSet() {
runChecks();
@@ -2325,6 +2298,44 @@ public class Jedis extends BinaryJedis implements JedisCommands {
return set;
}
public Set<String> zrevrangeByScore(final String key, final double max,
final double min) {
runChecks();
client.zrevrangeByScore(key, max, min);
return new LinkedHashSet<String>(client.getMultiBulkReply());
}
public Set<String> zrevrangeByScore(final String key, final String max,
final String min) {
runChecks();
client.zrevrangeByScore(key, max, min);
return new LinkedHashSet<String>(client.getMultiBulkReply());
}
public Set<String> zrevrangeByScore(final String key, final double max,
final double min, final int offset, final int count) {
runChecks();
client.zrevrangeByScore(key, max, min, offset, count);
return new LinkedHashSet<String>(client.getMultiBulkReply());
}
public Set<Tuple> zrevrangeByScoreWithScores(final String key,
final double max, final double min) {
runChecks();
client.zrevrangeByScoreWithScores(key, max, min);
Set<Tuple> set = getTupledSet();
return set;
}
public Set<Tuple> zrevrangeByScoreWithScores(final String key,
final double max, final double min, final int offset,
final int count) {
runChecks();
client.zrevrangeByScoreWithScores(key, max, min, offset, count);
Set<Tuple> set = getTupledSet();
return set;
}
/**
* Remove all elements in the sorted set at key with rank between start and
* end. Start and end are 0-based with rank 0 being the element with the

View File

@@ -722,6 +722,51 @@ public class Pipeline implements Commands {
client.zrangeByScoreWithScores(key, min, max, offset, count);
}
//--
public void zrevrangeByScore(String key, double max, double min) {
client.zrevrangeByScore(key, max, min);
}
public void zrevrangeByScore(byte[] key, double max, double min) {
client.zrevrangeByScore(key, max, min);
}
public void zrevrangeByScore(String key, String max, String min) {
client.zrevrangeByScore(key, max, min);
}
public void zrevrangeByScore(byte[] key, byte[] max, byte[] min) {
client.zrevrangeByScore(key, max, min);
}
public void zrevrangeByScore(String key, double max, double min, int offset,
int count) {
client.zrevrangeByScore(key, max, min, offset, count);
}
public void zrevrangeByScore(byte[] key, double max, double min, int offset,
int count) {
client.zrevrangeByScore(key, max, min, offset, count);
}
public void zrevrangeByScoreWithScores(String key, double max, double min) {
client.zrevrangeByScoreWithScores(key, max, min);
}
public void zrevrangeByScoreWithScores(byte[] key, double max, double min) {
client.zrevrangeByScoreWithScores(key, max, min);
}
public void zrevrangeByScoreWithScores(String key, double max, double min,
int offset, int count) {
client.zrevrangeByScoreWithScores(key, max, min, offset, count);
}
public void zrevrangeByScoreWithScores(byte[] key, double max, double min,
int offset, int count) {
client.zrevrangeByScoreWithScores(key, max, min, offset, count);
}
public void zrangeWithScores(String key, int start, int end) {
client.zrangeWithScores(key, start, end);
}

View File

@@ -374,6 +374,28 @@ public abstract class PipelineBlock implements Commands {
client.zrangeByScoreWithScores(key, min, max, offset, count);
}
public void zrevrangeByScore(String key, double max, double min) {
client.zrevrangeByScore(key, max, min);
}
public void zrevrangeByScore(String key, String max, String min) {
client.zrevrangeByScore(key, max, min);
}
public void zrevrangeByScore(String key, double max, double min, int offset,
int count) {
client.zrevrangeByScore(key, max, min, offset, count);
}
public void zrevrangeByScoreWithScores(String key, double max, double min) {
client.zrevrangeByScoreWithScores(key, max, min);
}
public void zrevrangeByScoreWithScores(String key, double max, double min,
int offset, int count) {
client.zrevrangeByScoreWithScores(key, max, min, offset, count);
}
public void zrangeWithScores(String key, int start, int end) {
client.zrangeWithScores(key, start, end);
}