Refine search
@Override public Set<byte[]> zRangeByLex(byte[] key, Range range, Limit limit) { String min = value(range.getMin().getValue(), range.getMin().isIncluding(), "-"); String max = value(range.getMax().getValue(), range.getMax().isIncluding(), "+"); List<Object> args = new ArrayList<Object>(); args.add(key); args.add(min); args.add(max); if (limit != null) { args.add("LIMIT"); args.add(limit.getOffset()); args.add(limit.getCount()); } return read(key, ByteArrayCodec.INSTANCE, ZRANGEBYLEX, args.toArray()); }
/** * Creates a new {@link ZRangeByLexCommand} given a {@link Range} of {@link String} to retrieve elements * lexicographical ordering. * * @param range must not be {@literal null}. * @return a new {@link ZRangeByLexCommand} for {@link Tuple}. */ public static ZRangeByLexCommand stringsWithin(Range<String> range) { Assert.notNull(range, "Range must not be null!"); return new ZRangeByLexCommand(null, range, Direction.ASC, Limit.unlimited()); }
@Override public Set<byte[]> zRevRangeByScore(byte[] key, Range range, Limit limit) { String min = value(range.getMin().getValue(), range.getMin().isIncluding(), "-inf"); String max = value(range.getMax().getValue(), range.getMax().isIncluding(), "+inf"); List<Object> args = new ArrayList<Object>(); args.add(key); args.add(max); args.add(min); if (limit != null) { args.add("LIMIT"); args.add(limit.getOffset()); args.add(limit.getCount()); } return read(key, ByteArrayCodec.INSTANCE, ZREVRANGEBYSCORE, args.toArray()); }
@Override public Set<byte[]> zRangeByScore(byte[] key, Range range, Limit limit) { String min = value(range.getMin().getValue(), range.getMin().isIncluding(), "-inf"); String max = value(range.getMax().getValue(), range.getMax().isIncluding(), "+inf"); List<Object> args = new ArrayList<Object>(); args.add(key); args.add(min); args.add(max); if (limit != null) { args.add("LIMIT"); args.add(limit.getOffset()); args.add(limit.getCount()); } return read(key, ByteArrayCodec.INSTANCE, RedisCommands.ZRANGEBYSCORE, args.toArray()); }