Skip to content

Commit fe2e41f

Browse files
committed
Add support to *scan parameters to ShardedJedis and JedisCluster
Fixes #1225 Conflicts: src/main/java/redis/clients/jedis/BinaryJedisCluster.java src/main/java/redis/clients/jedis/BinaryJedisClusterCommands.java
1 parent b055715 commit fe2e41f

File tree

5 files changed

+130
-0
lines changed

5 files changed

+130
-0
lines changed

src/main/java/redis/clients/jedis/BinaryJedis.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3287,10 +3287,12 @@ public ScanResult<byte[]> scan(final byte[] cursor, final ScanParams params) {
32873287
return new ScanResult<byte[]>(newcursor, rawResults);
32883288
}
32893289

3290+
@Override
32903291
public ScanResult<Map.Entry<byte[], byte[]>> hscan(final byte[] key, final byte[] cursor) {
32913292
return hscan(key, cursor, new ScanParams());
32923293
}
32933294

3295+
@Override
32943296
public ScanResult<Map.Entry<byte[], byte[]>> hscan(final byte[] key, final byte[] cursor,
32953297
final ScanParams params) {
32963298
checkIsInMultiOrPipeline();
@@ -3306,10 +3308,12 @@ public ScanResult<Map.Entry<byte[], byte[]>> hscan(final byte[] key, final byte[
33063308
return new ScanResult<Map.Entry<byte[], byte[]>>(newcursor, results);
33073309
}
33083310

3311+
@Override
33093312
public ScanResult<byte[]> sscan(final byte[] key, final byte[] cursor) {
33103313
return sscan(key, cursor, new ScanParams());
33113314
}
33123315

3316+
@Override
33133317
public ScanResult<byte[]> sscan(final byte[] key, final byte[] cursor, final ScanParams params) {
33143318
checkIsInMultiOrPipeline();
33153319
client.sscan(key, cursor, params);
@@ -3319,10 +3323,12 @@ public ScanResult<byte[]> sscan(final byte[] key, final byte[] cursor, final Sca
33193323
return new ScanResult<byte[]>(newcursor, rawResults);
33203324
}
33213325

3326+
@Override
33223327
public ScanResult<Tuple> zscan(final byte[] key, final byte[] cursor) {
33233328
return zscan(key, cursor, new ScanParams());
33243329
}
33253330

3331+
@Override
33263332
public ScanResult<Tuple> zscan(final byte[] key, final byte[] cursor, final ScanParams params) {
33273333
checkIsInMultiOrPipeline();
33283334
client.zscan(key, cursor, params);

src/main/java/redis/clients/jedis/BinaryJedisCluster.java

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1954,4 +1954,66 @@ public List<GeoRadiusResponse> execute(Jedis connection) {
19541954
}.runBinary(key);
19551955
}
19561956

1957+
@Override
1958+
public ScanResult<Map.Entry<byte[], byte[]>> hscan(final byte[] key, final byte[] cursor) {
1959+
return new JedisClusterCommand<ScanResult<Map.Entry<byte[], byte[]>>>(connectionHandler,
1960+
maxRedirections) {
1961+
@Override
1962+
public ScanResult<Map.Entry<byte[], byte[]>> execute(Jedis connection) {
1963+
return connection.hscan(key, cursor);
1964+
}
1965+
}.runBinary(key);
1966+
}
1967+
1968+
@Override
1969+
public ScanResult<Map.Entry<byte[], byte[]>> hscan(final byte[] key, final byte[] cursor,
1970+
final ScanParams params) {
1971+
return new JedisClusterCommand<ScanResult<Map.Entry<byte[], byte[]>>>(connectionHandler,
1972+
maxRedirections) {
1973+
@Override
1974+
public ScanResult<Map.Entry<byte[], byte[]>> execute(Jedis connection) {
1975+
return connection.hscan(key, cursor, params);
1976+
}
1977+
}.runBinary(key);
1978+
}
1979+
1980+
@Override
1981+
public ScanResult<byte[]> sscan(final byte[] key, final byte[] cursor) {
1982+
return new JedisClusterCommand<ScanResult<byte[]>>(connectionHandler, maxRedirections) {
1983+
@Override
1984+
public ScanResult<byte[]> execute(Jedis connection) {
1985+
return connection.sscan(key, cursor);
1986+
}
1987+
}.runBinary(key);
1988+
}
1989+
1990+
@Override
1991+
public ScanResult<byte[]> sscan(final byte[] key, final byte[] cursor, final ScanParams params) {
1992+
return new JedisClusterCommand<ScanResult<byte[]>>(connectionHandler, maxRedirections) {
1993+
@Override
1994+
public ScanResult<byte[]> execute(Jedis connection) {
1995+
return connection.sscan(key, cursor, params);
1996+
}
1997+
}.runBinary(key);
1998+
}
1999+
2000+
@Override
2001+
public ScanResult<Tuple> zscan(final byte[] key, final byte[] cursor) {
2002+
return new JedisClusterCommand<ScanResult<Tuple>>(connectionHandler, maxRedirections) {
2003+
@Override
2004+
public ScanResult<Tuple> execute(Jedis connection) {
2005+
return connection.zscan(key, cursor);
2006+
}
2007+
}.runBinary(key);
2008+
}
2009+
2010+
@Override
2011+
public ScanResult<Tuple> zscan(final byte[] key, final byte[] cursor, final ScanParams params) {
2012+
return new JedisClusterCommand<ScanResult<Tuple>>(connectionHandler, maxRedirections) {
2013+
@Override
2014+
public ScanResult<Tuple> execute(Jedis connection) {
2015+
return connection.zscan(key, cursor, params);
2016+
}
2017+
}.runBinary(key);
2018+
}
19572019
}

src/main/java/redis/clients/jedis/BinaryJedisClusterCommands.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -260,4 +260,17 @@ List<GeoRadiusResponse> georadius(byte[] key, double longitude, double latitude,
260260

261261
List<GeoRadiusResponse> georadiusByMember(byte[] key, byte[] member, double radius, GeoUnit unit,
262262
GeoRadiusParam param);
263+
264+
ScanResult<Map.Entry<byte[], byte[]>> hscan(byte[] key, byte[] cursor);
265+
266+
ScanResult<Map.Entry<byte[], byte[]>> hscan(byte[] key, byte[] cursor, ScanParams params);
267+
268+
ScanResult<byte[]> sscan(byte[] key, byte[] cursor);
269+
270+
ScanResult<byte[]> sscan(byte[] key, byte[] cursor, ScanParams params);
271+
272+
ScanResult<Tuple> zscan(byte[] key, byte[] cursor);
273+
274+
ScanResult<Tuple> zscan(byte[] key, byte[] cursor, ScanParams params);
275+
263276
}

src/main/java/redis/clients/jedis/BinaryJedisCommands.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -285,4 +285,17 @@ List<GeoRadiusResponse> georadius(byte[] key, double longitude, double latitude,
285285

286286
List<GeoRadiusResponse> georadiusByMember(byte[] key, byte[] member, double radius, GeoUnit unit,
287287
GeoRadiusParam param);
288+
289+
ScanResult<Map.Entry<byte[], byte[]>> hscan(byte[] key, byte[] cursor);
290+
291+
ScanResult<Map.Entry<byte[], byte[]>> hscan(byte[] key, byte[] cursor, ScanParams params);
292+
293+
ScanResult<byte[]> sscan(byte[] key, byte[] cursor);
294+
295+
ScanResult<byte[]> sscan(byte[] key, byte[] cursor, ScanParams params);
296+
297+
ScanResult<Tuple> zscan(byte[] key, byte[] cursor);
298+
299+
ScanResult<Tuple> zscan(byte[] key, byte[] cursor, ScanParams params);
300+
288301
}

src/main/java/redis/clients/jedis/BinaryShardedJedis.java

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -755,4 +755,40 @@ public List<GeoRadiusResponse> georadiusByMember(byte[] key, byte[] member, doub
755755
Jedis j = getShard(key);
756756
return j.georadiusByMember(key, member, radius, unit, param);
757757
}
758+
759+
@Override
760+
public ScanResult<Map.Entry<byte[], byte[]>> hscan(byte[] key, byte[] cursor) {
761+
Jedis j = getShard(key);
762+
return j.hscan(key, cursor);
763+
}
764+
765+
@Override
766+
public ScanResult<Map.Entry<byte[], byte[]>> hscan(byte[] key, byte[] cursor, ScanParams params) {
767+
Jedis j = getShard(key);
768+
return j.hscan(key, cursor, params);
769+
}
770+
771+
@Override
772+
public ScanResult<byte[]> sscan(byte[] key, byte[] cursor) {
773+
Jedis j = getShard(key);
774+
return j.sscan(key, cursor);
775+
}
776+
777+
@Override
778+
public ScanResult<byte[]> sscan(byte[] key, byte[] cursor, ScanParams params) {
779+
Jedis j = getShard(key);
780+
return j.sscan(key, cursor, params);
781+
}
782+
783+
@Override
784+
public ScanResult<Tuple> zscan(byte[] key, byte[] cursor) {
785+
Jedis j = getShard(key);
786+
return j.zscan(key, cursor);
787+
}
788+
789+
@Override
790+
public ScanResult<Tuple> zscan(byte[] key, byte[] cursor, ScanParams params) {
791+
Jedis j = getShard(key);
792+
return j.zscan(key, cursor, params);
793+
}
758794
}

0 commit comments

Comments
 (0)