DATAREDIS-743 - Polishing.

Update Javadoc and comments.

Original Pull Request: #343
This commit is contained in:
Christoph Strobl
2018-05-22 10:40:41 +02:00
parent ee3c1bd9f8
commit 03c607a337
13 changed files with 213 additions and 111 deletions

View File

@@ -582,10 +582,11 @@ public interface ReactiveHashCommands {
/**
* Use a {@link Flux} to iterate over entries in the hash at {@code key}. The resulting {@link Flux} acts as a cursor
* and issues {@code HSCAN} commands itself as long as the subscriber signals demand .
* and issues {@code HSCAN} commands itself as long as the subscriber signals demand.
*
* @param key must not be {@literal null}.
* @return
* @return the {@link Flux} emitting {@link java.util.Map.Entry entries} one by one.
* @throws IllegalArgumentException in case the given key is {@literal null}.
* @see <a href="http://redis.io/commands/hscan">Redis Documentation: HSCAN</a>
* @since 2.1
*/
@@ -598,12 +599,14 @@ public interface ReactiveHashCommands {
* {@link Flux} acts as a cursor and issues {@code HSCAN} commands itself as long as the subscriber signals demand.
*
* @param key must not be {@literal null}.
* @param options must not be {@literal null}.
* @return
* @param options must not be {@literal null}. Use {@link ScanOptions#NONE} instead.
* @return the {@link Flux} emitting the raw {@link java.util.Map.Entry entries} one by one.
* @throws IllegalArgumentException in case one of the required arguments is {@literal null}.
* @see <a href="http://redis.io/commands/hscan">Redis Documentation: HSCAN</a>
* @since 2.1
*/
default Flux<Map.Entry<ByteBuffer, ByteBuffer>> hScan(ByteBuffer key, ScanOptions options) {
return hScan(Mono.just(KeyScanCommand.key(key).withOptions(options))).map(CommandResponse::getOutput)
.flatMap(it -> it);
}
@@ -613,7 +616,7 @@ public interface ReactiveHashCommands {
* and issues {@code HSCAN} commands itself as long as the subscriber signals demand.
*
* @param commands must not be {@literal null}.
* @return
* @return the {@link Flux} emitting {@link CommandResponse} one by one.
* @see <a href="http://redis.io/commands/hscan">Redis Documentation: HSCAN</a>
* @since 2.1
*/

View File

@@ -112,7 +112,9 @@ public interface ReactiveKeyCommands {
Flux<NumericResponse<Collection<ByteBuffer>, Long>> touch(Publisher<Collection<ByteBuffer>> keys);
/**
* Find all keys matching the given {@literal pattern}.
* Find all keys matching the given {@literal pattern}.<br />
* It is recommended to use {@link #scan(ScanOptions)} to iterate over the keyspace as {@link #keys(ByteBuffer)} is a
* non-interruptible and expensive Redis operation.
*
* @param pattern must not be {@literal null}.
* @return
@@ -126,8 +128,10 @@ public interface ReactiveKeyCommands {
}
/**
* Find all keys matching the given {@literal pattern}.
*
* Find all keys matching the given {@literal pattern}.<br />
* It is recommended to use {@link #scan(ScanOptions)} to iterate over the keyspace as {@link #keys(Publisher)} is a
* non-interruptible and expensive Redis operation.
*
* @param patterns must not be {@literal null}.
* @return
* @see <a href="http://redis.io/commands/keys">Redis Documentation: KEYS</a>
@@ -151,7 +155,8 @@ public interface ReactiveKeyCommands {
* commands itself as long as the subscriber signals demand.
*
* @param options must not be {@literal null}.
* @return never {@literal null}.
* @return the {@link Flux} emitting {@link ByteBuffer keys} one by one.
* @throws IllegalArgumentException when options is {@literal null}.
* @see <a href="http://redis.io/commands/scan">Redis Documentation: SCAN</a>
* @since 2.1
*/

View File

@@ -211,14 +211,16 @@ public interface ReactiveRedisConnection extends Closeable {
}
/**
* {@link Command} for key-bound scan operations like {@code HSCAN}, {@code SSCAN}, and {@code ZSCAN}, .
* {@link Command} for key-bound scan operations like {@code SCAN}, {@code HSCAN}, {@code SSCAN} and {@code
* ZSCAN}.
*
* @author Mark Paluch
* @author Christoph Strobl
* @since 2.1
*/
class KeyScanCommand extends KeyCommand {
private ScanOptions options;
private final ScanOptions options;
private KeyScanCommand(@Nullable ByteBuffer key, ScanOptions options) {
@@ -248,6 +250,11 @@ public interface ReactiveRedisConnection extends Closeable {
return new KeyScanCommand(getKey(), options);
}
/**
* Get the {@link ScanOptions} to apply.
*
* @return never {@literal null}.
*/
public ScanOptions getOptions() {
return options;
}

View File

@@ -1020,7 +1020,8 @@ public interface ReactiveSetCommands {
* and issues {@code SSCAN} commands itself as long as the subscriber signals demand.
*
* @param key must not be {@literal null}.
* @return
* @return the {@link Flux} emitting the raw {@link ByteBuffer members} one by one.
* @throws IllegalArgumentException when options is {@literal null}.
* @see <a href="http://redis.io/commands/sscan">Redis Documentation: SSCAN</a>
* @since 2.1
*/
@@ -1033,12 +1034,14 @@ public interface ReactiveSetCommands {
* {@link Flux} acts as a cursor and issues {@code SSCAN} commands itself as long as the subscriber signals demand.
*
* @param key must not be {@literal null}.
* @param options must not be {@literal null}.
* @return
* @param options must not be {@literal null}. Use {@link ScanOptions#NONE} instead.
* @return the {@link Flux} emitting the raw {@link ByteBuffer members} one by one.
* @throws IllegalArgumentException when one of the required arguments is {@literal null}.
* @see <a href="http://redis.io/commands/sscan">Redis Documentation: SSCAN</a>
* @since 2.1
*/
default Flux<ByteBuffer> sScan(ByteBuffer key, ScanOptions options) {
return sScan(Mono.just(KeyScanCommand.key(key).withOptions(options))).map(CommandResponse::getOutput)
.flatMap(it -> it);
}

View File

@@ -1004,7 +1004,8 @@ public interface ReactiveZSetCommands {
* cursor and issues {@code ZSCAN} commands itself as long as the subscriber signals demand.
*
* @param key must not be {@literal null}.
* @return
* @return the {@link Flux} emitting the raw {@link Tuple tuples} one by one.
* @throws IllegalArgumentException when key is {@literal null}.
* @see <a href="http://redis.io/commands/zscan">Redis Documentation: ZSCAN</a>
* @since 2.1
*/
@@ -1017,12 +1018,14 @@ public interface ReactiveZSetCommands {
* resulting {@link Flux} acts as a cursor and issues {@code ZSCAN} commands itself as long as the subscriber signals.
*
* @param key must not be {@literal null}.
* @param options must not be {@literal null}.
* @return
* @param options must not be {@literal null}. Use {@link ScanOptions#NONE} instead.
* @return the {@link Flux} emitting the raw {@link Tuple tuples} one by one.
* @throws IllegalArgumentException when one of the required arguments is {@literal null}.
* @see <a href="http://redis.io/commands/zscan">Redis Documentation: ZSCAN</a>
* @since 2.1
*/
default Flux<Tuple> zScan(ByteBuffer key, ScanOptions options) {
return zScan(Mono.just(KeyScanCommand.key(key).withOptions(options))).map(CommandResponse::getOutput)
.flatMap(it -> it);
}

View File

@@ -75,8 +75,7 @@ class LettuceReactiveHashCommands implements ReactiveHashCommands {
Entry<ByteBuffer, ByteBuffer> entry = command.getFieldValueMap().entrySet().iterator().next();
result = command.isUpsert()
? cmd.hset(command.getKey(), entry.getKey(), entry.getValue())
result = command.isUpsert() ? cmd.hset(command.getKey(), entry.getKey(), entry.getValue())
: cmd.hsetnx(command.getKey(), entry.getKey(), entry.getValue());
} else {
@@ -246,7 +245,7 @@ class LettuceReactiveHashCommands implements ReactiveHashCommands {
@Override
public ByteBuffer setValue(ByteBuffer value) {
throw new UnsupportedOperationException("Cannot set value for entry in cursor");
throw new UnsupportedOperationException("Cannot set value for entry in cursor.");
}
});

View File

@@ -46,7 +46,8 @@ class DefaultReactiveHashOperations<H, HK, HV> implements ReactiveHashOperations
private final @NonNull ReactiveRedisTemplate<?, ?> template;
private final @NonNull RedisSerializationContext<H, ?> serializationContext;
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveHashOperations#delete(java.lang.Object, java.lang.Object[])
*/
@Override
@@ -64,7 +65,8 @@ class DefaultReactiveHashOperations<H, HK, HV> implements ReactiveHashOperations
.flatMap(hks -> connection.hDel(rawKey(key), hks)));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveHashOperations#hasKey(java.lang.Object, java.lang.Object)
*/
@Override
@@ -77,7 +79,8 @@ class DefaultReactiveHashOperations<H, HK, HV> implements ReactiveHashOperations
return createMono(connection -> connection.hExists(rawKey(key), rawHashKey((HK) hashKey)));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveHashOperations#get(java.lang.Object, java.lang.Object)
*/
@Override
@@ -90,7 +93,8 @@ class DefaultReactiveHashOperations<H, HK, HV> implements ReactiveHashOperations
return createMono(connection -> connection.hGet(rawKey(key), rawHashKey((HK) hashKey)).map(this::readHashValue));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveHashOperations#multiGet(java.lang.Object, java.util.Collection)
*/
@Override
@@ -106,7 +110,8 @@ class DefaultReactiveHashOperations<H, HK, HV> implements ReactiveHashOperations
.flatMap(hks -> connection.hMGet(rawKey(key), hks)).map(this::deserializeHashValues));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveHashOperations#increment(java.lang.Object, java.lang.Object, long)
*/
@Override
@@ -120,7 +125,8 @@ class DefaultReactiveHashOperations<H, HK, HV> implements ReactiveHashOperations
.hIncrBy(rawKey(key), rawHashKey(hashKey), delta));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveHashOperations#increment(java.lang.Object, java.lang.Object, double)
*/
@Override
@@ -134,7 +140,8 @@ class DefaultReactiveHashOperations<H, HK, HV> implements ReactiveHashOperations
.hIncrBy(rawKey(key), rawHashKey(hashKey), delta));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveHashOperations#keys(java.lang.Object)
*/
@Override
@@ -146,7 +153,8 @@ class DefaultReactiveHashOperations<H, HK, HV> implements ReactiveHashOperations
.map(this::readHashKey));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveHashOperations#size(java.lang.Object)
*/
@Override
@@ -157,7 +165,8 @@ class DefaultReactiveHashOperations<H, HK, HV> implements ReactiveHashOperations
return createMono(connection -> connection.hLen(rawKey(key)));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveHashOperations#putAll(java.lang.Object, java.util.Map)
*/
@Override
@@ -171,7 +180,8 @@ class DefaultReactiveHashOperations<H, HK, HV> implements ReactiveHashOperations
.flatMap(serialized -> connection.hMSet(rawKey(key), serialized)));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveHashOperations#put(java.lang.Object, java.lang.Object, java.lang.Object)
*/
@Override
@@ -184,7 +194,8 @@ class DefaultReactiveHashOperations<H, HK, HV> implements ReactiveHashOperations
return createMono(connection -> connection.hSet(rawKey(key), rawHashKey(hashKey), rawHashValue(value)));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveHashOperations#putIfAbsent(java.lang.Object, java.lang.Object, java.lang.Object)
*/
@Override
@@ -197,7 +208,8 @@ class DefaultReactiveHashOperations<H, HK, HV> implements ReactiveHashOperations
return createMono(connection -> connection.hSetNX(rawKey(key), rawHashKey(hashKey), rawHashValue(value)));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveHashOperations#values(java.lang.Object)
*/
@Override
@@ -209,7 +221,8 @@ class DefaultReactiveHashOperations<H, HK, HV> implements ReactiveHashOperations
.map(this::readHashValue));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveHashOperations#entries(java.lang.Object)
*/
@Override
@@ -221,7 +234,8 @@ class DefaultReactiveHashOperations<H, HK, HV> implements ReactiveHashOperations
.map(this::deserializeHashEntry));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveHashOperations#scan(java.lang.Object, org.springframework.data.redis.core.ScanOptions)
*/
@Override
@@ -234,7 +248,8 @@ class DefaultReactiveHashOperations<H, HK, HV> implements ReactiveHashOperations
.map(this::deserializeHashEntry));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveHashOperations#delete(java.lang.Object)
*/
@Override

View File

@@ -45,7 +45,8 @@ class DefaultReactiveSetOperations<K, V> implements ReactiveSetOperations<K, V>
private final @NonNull ReactiveRedisTemplate<?, ?> template;
private final @NonNull RedisSerializationContext<K, V> serializationContext;
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveSetOperations#add(java.lang.Object, java.lang.Object[])
*/
@Override
@@ -63,7 +64,8 @@ class DefaultReactiveSetOperations<K, V> implements ReactiveSetOperations<K, V>
.flatMap(serialized -> connection.sAdd(rawKey(key), serialized)));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveSetOperations#remove(java.lang.Object, java.lang.Object[])
*/
@Override
@@ -82,7 +84,8 @@ class DefaultReactiveSetOperations<K, V> implements ReactiveSetOperations<K, V>
.flatMap(serialized -> connection.sRem(rawKey(key), serialized)));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveSetOperations#pop(java.lang.Object)
*/
@Override
@@ -105,7 +108,8 @@ class DefaultReactiveSetOperations<K, V> implements ReactiveSetOperations<K, V>
return createFlux(connection -> connection.sPop(rawKey(key), count).map(this::readValue));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveSetOperations#move(java.lang.Object, java.lang.Object, java.lang.Object)
*/
@Override
@@ -117,7 +121,8 @@ class DefaultReactiveSetOperations<K, V> implements ReactiveSetOperations<K, V>
return createMono(connection -> connection.sMove(rawKey(sourceKey), rawKey(destKey), rawValue(value)));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveSetOperations#size(java.lang.Object)
*/
@Override
@@ -128,7 +133,8 @@ class DefaultReactiveSetOperations<K, V> implements ReactiveSetOperations<K, V>
return createMono(connection -> connection.sCard(rawKey(key)));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveSetOperations#isMember(java.lang.Object, java.lang.Object)
*/
@Override
@@ -140,7 +146,8 @@ class DefaultReactiveSetOperations<K, V> implements ReactiveSetOperations<K, V>
return createMono(connection -> connection.sIsMember(rawKey(key), rawValue((V) o)));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveSetOperations#intersect(java.lang.Object, java.lang.Object)
*/
@Override
@@ -152,7 +159,8 @@ class DefaultReactiveSetOperations<K, V> implements ReactiveSetOperations<K, V>
return intersect(key, Collections.singleton(otherKey));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveSetOperations#intersect(java.lang.Object, java.util.Collection)
*/
@Override
@@ -181,7 +189,8 @@ class DefaultReactiveSetOperations<K, V> implements ReactiveSetOperations<K, V>
return intersectAndStore(key, Collections.singleton(otherKey), destKey);
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveSetOperations#intersectAndStore(java.lang.Object, java.util.Collection, java.lang.Object)
*/
@Override
@@ -197,7 +206,8 @@ class DefaultReactiveSetOperations<K, V> implements ReactiveSetOperations<K, V>
.flatMap(rawKeys -> connection.sInterStore(rawKey(destKey), rawKeys)));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveSetOperations#union(java.lang.Object, java.lang.Object)
*/
@Override
@@ -209,7 +219,8 @@ class DefaultReactiveSetOperations<K, V> implements ReactiveSetOperations<K, V>
return union(key, Collections.singleton(otherKey));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveSetOperations#union(java.lang.Object, java.util.Collection)
*/
@Override
@@ -225,7 +236,8 @@ class DefaultReactiveSetOperations<K, V> implements ReactiveSetOperations<K, V>
.map(this::readValue));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveSetOperations#unionAndStore(java.lang.Object, java.lang.Object, java.lang.Object)
*/
@Override
@@ -238,7 +250,8 @@ class DefaultReactiveSetOperations<K, V> implements ReactiveSetOperations<K, V>
return unionAndStore(key, Collections.singleton(otherKey), destKey);
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveSetOperations#unionAndStore(java.lang.Object, java.util.Collection, java.lang.Object)
*/
@Override
@@ -254,7 +267,8 @@ class DefaultReactiveSetOperations<K, V> implements ReactiveSetOperations<K, V>
.flatMap(rawKeys -> connection.sUnionStore(rawKey(destKey), rawKeys)));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveSetOperations#difference(java.lang.Object, java.lang.Object)
*/
@Override
@@ -266,7 +280,8 @@ class DefaultReactiveSetOperations<K, V> implements ReactiveSetOperations<K, V>
return difference(key, Collections.singleton(otherKey));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveSetOperations#difference(java.lang.Object, java.util.Collection)
*/
@Override
@@ -282,7 +297,8 @@ class DefaultReactiveSetOperations<K, V> implements ReactiveSetOperations<K, V>
.map(this::readValue));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveSetOperations#differenceAndStore(java.lang.Object, java.lang.Object, java.lang.Object)
*/
@Override
@@ -295,7 +311,8 @@ class DefaultReactiveSetOperations<K, V> implements ReactiveSetOperations<K, V>
return differenceAndStore(key, Collections.singleton(otherKey), destKey);
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveSetOperations#differenceAndStore(java.lang.Object, java.util.Collection, java.lang.Object)
*/
@Override
@@ -311,7 +328,8 @@ class DefaultReactiveSetOperations<K, V> implements ReactiveSetOperations<K, V>
.flatMap(rawKeys -> connection.sDiffStore(rawKey(destKey), rawKeys)));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveSetOperations#members(java.lang.Object)
*/
@Override
@@ -322,7 +340,8 @@ class DefaultReactiveSetOperations<K, V> implements ReactiveSetOperations<K, V>
return createFlux(connection -> connection.sMembers(rawKey(key)).map(this::readValue));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveSetOperations#scan(java.lang.Object, org.springframework.data.redis.core.ScanOptions)
*/
@Override
@@ -334,7 +353,8 @@ class DefaultReactiveSetOperations<K, V> implements ReactiveSetOperations<K, V>
return createFlux(connection -> connection.sScan(rawKey(key)).map(this::readValue));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveSetOperations#randomMember(java.lang.Object)
*/
@Override
@@ -345,7 +365,8 @@ class DefaultReactiveSetOperations<K, V> implements ReactiveSetOperations<K, V>
return createMono(connection -> connection.sRandMember(rawKey(key)).map(this::readValue));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveSetOperations#distinctRandomMembers(java.lang.Object, long)
*/
@Override
@@ -356,7 +377,8 @@ class DefaultReactiveSetOperations<K, V> implements ReactiveSetOperations<K, V>
return createFlux(connection -> connection.sRandMember(rawKey(key), count).map(this::readValue));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveSetOperations#randomMembers(java.lang.Object, long)
*/
@Override
@@ -367,7 +389,8 @@ class DefaultReactiveSetOperations<K, V> implements ReactiveSetOperations<K, V>
return createFlux(connection -> connection.sRandMember(rawKey(key), -count).map(this::readValue));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveSetOperations#delete(java.lang.Object)
*/
@Override

View File

@@ -53,7 +53,8 @@ class DefaultReactiveZSetOperations<K, V> implements ReactiveZSetOperations<K, V
private final @NonNull ReactiveRedisTemplate<?, ?> template;
private final @NonNull RedisSerializationContext<K, V> serializationContext;
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveZSetOperations#add(java.lang.Object, java.lang.Object, double)
*/
@Override
@@ -64,7 +65,8 @@ class DefaultReactiveZSetOperations<K, V> implements ReactiveZSetOperations<K, V
return createMono(connection -> connection.zAdd(rawKey(key), score, rawValue(value)).map(l -> l != 0));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveZSetOperations#add(java.lang.Object, java.util.Collection)
*/
@Override
@@ -79,7 +81,8 @@ class DefaultReactiveZSetOperations<K, V> implements ReactiveZSetOperations<K, V
.flatMap(serialized -> connection.zAdd(rawKey(key), serialized)));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveZSetOperations#remove(java.lang.Object, java.lang.Object[])
*/
@Override
@@ -99,7 +102,8 @@ class DefaultReactiveZSetOperations<K, V> implements ReactiveZSetOperations<K, V
.flatMap(serialized -> connection.zRem(rawKey(key), serialized)));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveZSetOperations#incrementScore(java.lang.Object, java.lang.Object, double)
*/
@Override
@@ -110,7 +114,8 @@ class DefaultReactiveZSetOperations<K, V> implements ReactiveZSetOperations<K, V
return createMono(connection -> connection.zIncrBy(rawKey(key), delta, rawValue(value)));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveZSetOperations#rank(java.lang.Object, java.lang.Object)
*/
@Override
@@ -122,7 +127,8 @@ class DefaultReactiveZSetOperations<K, V> implements ReactiveZSetOperations<K, V
return createMono(connection -> connection.zRank(rawKey(key), rawValue((V) o)));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveZSetOperations#reverseRank(java.lang.Object, java.lang.Object)
*/
@Override
@@ -134,7 +140,8 @@ class DefaultReactiveZSetOperations<K, V> implements ReactiveZSetOperations<K, V
return createMono(connection -> connection.zRevRank(rawKey(key), rawValue((V) o)));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveZSetOperations#range(java.lang.Object, org.springframework.data.domain.Range)
*/
@Override
@@ -146,7 +153,8 @@ class DefaultReactiveZSetOperations<K, V> implements ReactiveZSetOperations<K, V
return createFlux(connection -> connection.zRange(rawKey(key), range).map(this::readValue));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveZSetOperations#rangeWithScores(java.lang.Object, org.springframework.data.domain.Range)
*/
@Override
@@ -158,7 +166,8 @@ class DefaultReactiveZSetOperations<K, V> implements ReactiveZSetOperations<K, V
return createFlux(connection -> connection.zRangeWithScores(rawKey(key), range).map(this::readTypedTuple));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveZSetOperations#rangeByScore(java.lang.Object, org.springframework.data.domain.Range)
*/
@Override
@@ -170,7 +179,8 @@ class DefaultReactiveZSetOperations<K, V> implements ReactiveZSetOperations<K, V
return createFlux(connection -> connection.zRangeByScore(rawKey(key), range).map(this::readValue));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveZSetOperations#rangeByScoreWithScores(java.lang.Object, org.springframework.data.domain.Range)
*/
@Override
@@ -182,7 +192,8 @@ class DefaultReactiveZSetOperations<K, V> implements ReactiveZSetOperations<K, V
return createFlux(connection -> connection.zRangeByScoreWithScores(rawKey(key), range).map(this::readTypedTuple));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveZSetOperations#rangeByScore(java.lang.Object, org.springframework.data.domain.Range, org.springframework.data.redis.connection.RedisZSetCommands.Limit)
*/
@Override
@@ -194,7 +205,8 @@ class DefaultReactiveZSetOperations<K, V> implements ReactiveZSetOperations<K, V
return createFlux(connection -> connection.zRangeByScore(rawKey(key), range, limit).map(this::readValue));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveZSetOperations#rangeByScoreWithScores(java.lang.Object, org.springframework.data.domain.Range, org.springframework.data.redis.connection.RedisZSetCommands.Limit)
*/
@Override
@@ -208,7 +220,8 @@ class DefaultReactiveZSetOperations<K, V> implements ReactiveZSetOperations<K, V
connection -> connection.zRangeByScoreWithScores(rawKey(key), range, limit).map(this::readTypedTuple));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveZSetOperations#reverseRange(java.lang.Object, org.springframework.data.domain.Range)
*/
@Override
@@ -220,7 +233,8 @@ class DefaultReactiveZSetOperations<K, V> implements ReactiveZSetOperations<K, V
return createFlux(connection -> connection.zRevRange(rawKey(key), range).map(this::readValue));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveZSetOperations#reverseRangeWithScores(java.lang.Object, org.springframework.data.domain.Range)
*/
@Override
@@ -232,7 +246,8 @@ class DefaultReactiveZSetOperations<K, V> implements ReactiveZSetOperations<K, V
return createFlux(connection -> connection.zRevRangeWithScores(rawKey(key), range).map(this::readTypedTuple));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveZSetOperations#reverseRangeByScore(java.lang.Object, org.springframework.data.domain.Range)
*/
@Override
@@ -244,7 +259,8 @@ class DefaultReactiveZSetOperations<K, V> implements ReactiveZSetOperations<K, V
return createFlux(connection -> connection.zRevRangeByScore(rawKey(key), range).map(this::readValue));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveZSetOperations#reverseRangeByScoreWithScores(java.lang.Object, org.springframework.data.domain.Range)
*/
@Override
@@ -257,7 +273,8 @@ class DefaultReactiveZSetOperations<K, V> implements ReactiveZSetOperations<K, V
connection -> connection.zRevRangeByScoreWithScores(rawKey(key), range).map(this::readTypedTuple));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveZSetOperations#reverseRangeByScore(java.lang.Object, org.springframework.data.domain.Range, org.springframework.data.redis.connection.RedisZSetCommands.Limit)
*/
@Override
@@ -269,7 +286,8 @@ class DefaultReactiveZSetOperations<K, V> implements ReactiveZSetOperations<K, V
return createFlux(connection -> connection.zRevRangeByScore(rawKey(key), range, limit).map(this::readValue));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveZSetOperations#reverseRangeByScoreWithScores(java.lang.Object, org.springframework.data.domain.Range, org.springframework.data.redis.connection.RedisZSetCommands.Limit)
*/
@Override
@@ -283,7 +301,8 @@ class DefaultReactiveZSetOperations<K, V> implements ReactiveZSetOperations<K, V
connection -> connection.zRevRangeByScoreWithScores(rawKey(key), range, limit).map(this::readTypedTuple));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveZSetOperations#scan(java.lang.Object, org.springframework.data.redis.core.ScanOptions)
*/
@Override
@@ -295,7 +314,8 @@ class DefaultReactiveZSetOperations<K, V> implements ReactiveZSetOperations<K, V
return createFlux(connection -> connection.zScan(rawKey(key), options).map(this::readTypedTuple));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveZSetOperations#count(java.lang.Object, org.springframework.data.domain.Range)
*/
@Override
@@ -307,7 +327,8 @@ class DefaultReactiveZSetOperations<K, V> implements ReactiveZSetOperations<K, V
return createMono(connection -> connection.zCount(rawKey(key), range));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveZSetOperations#size(java.lang.Object)
*/
@Override
@@ -318,7 +339,8 @@ class DefaultReactiveZSetOperations<K, V> implements ReactiveZSetOperations<K, V
return createMono(connection -> connection.zCard(rawKey(key)));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveZSetOperations#score(java.lang.Object, java.lang.Object)
*/
@Override
@@ -330,7 +352,8 @@ class DefaultReactiveZSetOperations<K, V> implements ReactiveZSetOperations<K, V
return createMono(connection -> connection.zScore(rawKey(key), rawValue((V) o)));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveZSetOperations#removeRange(java.lang.Object, org.springframework.data.domain.Range)
*/
@Override
@@ -342,7 +365,8 @@ class DefaultReactiveZSetOperations<K, V> implements ReactiveZSetOperations<K, V
return createMono(connection -> connection.zRemRangeByRank(rawKey(key), range));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveZSetOperations#removeRangeByScore(java.lang.Object, org.springframework.data.domain.Range)
*/
@Override
@@ -454,7 +478,8 @@ class DefaultReactiveZSetOperations<K, V> implements ReactiveZSetOperations<K, V
.flatMap(serialized -> connection.zInterStore(rawKey(destKey), serialized, weights, aggregate)));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveZSetOperations#rangeByLex(java.lang.Object, org.springframework.data.domain.Range)
*/
@Override
@@ -466,7 +491,8 @@ class DefaultReactiveZSetOperations<K, V> implements ReactiveZSetOperations<K, V
return createFlux(connection -> connection.zRangeByLex(rawKey(key), range).map(this::readValue));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveZSetOperations#rangeByLex(java.lang.Object, org.springframework.data.domain.Range, org.springframework.data.redis.connection.RedisZSetCommands.Limit)
*/
@Override
@@ -479,7 +505,8 @@ class DefaultReactiveZSetOperations<K, V> implements ReactiveZSetOperations<K, V
return createFlux(connection -> connection.zRangeByLex(rawKey(key), range, limit).map(this::readValue));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveZSetOperations#reverseRangeByLex(java.lang.Object, org.springframework.data.domain.Range)
*/
@Override
@@ -491,7 +518,8 @@ class DefaultReactiveZSetOperations<K, V> implements ReactiveZSetOperations<K, V
return createFlux(connection -> connection.zRevRangeByLex(rawKey(key), range).map(this::readValue));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveZSetOperations#reverseRangeByLex(java.lang.Object, org.springframework.data.domain.Range, org.springframework.data.redis.connection.RedisZSetCommands.Limit)
*/
@Override
@@ -504,7 +532,8 @@ class DefaultReactiveZSetOperations<K, V> implements ReactiveZSetOperations<K, V
return createFlux(connection -> connection.zRevRangeByLex(rawKey(key), range, limit).map(this::readValue));
}
/* (non-Javadoc)
/*
* (non-Javadoc)
* @see org.springframework.data.redis.core.ReactiveZSetOperations#delete(java.lang.Object)
*/
@Override

View File

@@ -147,11 +147,13 @@ public interface ReactiveHashOperations<H, HK, HV> {
Flux<Map.Entry<HK, HV>> entries(H key);
/**
* Use a {@link Flux} to iterate over entries in the hash at {@code key} given {@link ScanOptions}. The resulting
* {@link Flux} acts as a cursor and issues {@code HSCAN} commands itself as long as the subscriber signals demand.
* Use a {@link Flux} to iterate over entries in the hash at {@code key}. The resulting {@link Flux} acts as a cursor
* and issues {@code HSCAN} commands itself as long as the subscriber signals demand.
*
* @param key must not be {@literal null}.
* @return never {@literal null}.
* @return the {@link Flux} emitting the {@link java.util.Map.Entry entries} on by one or an {@link Flux#empty() empty
* flux} if the key does not exist.
* @throws IllegalArgumentException when the given {@code key} is {@literal null}.
* @see <a href="http://redis.io/commands/hscan">Redis Documentation: HSCAN</a>
* @since 2.1
*/
@@ -164,8 +166,10 @@ public interface ReactiveHashOperations<H, HK, HV> {
* {@link Flux} acts as a cursor and issues {@code HSCAN} commands itself as long as the subscriber signals demand.
*
* @param key must not be {@literal null}.
* @param options must not be {@literal null}.
* @return never {@literal null}.
* @param options must not be {@literal null}. Use {@link ScanOptions#NONE} instead.
* @return the {@link Flux} emitting the {@link java.util.Map.Entry entries} on by one or an {@link Flux#empty() empty
* flux} if the key does not exist.
* @throws IllegalArgumentException when one of the required arguments is {@literal null}.
* @see <a href="http://redis.io/commands/hscan">Redis Documentation: HSCAN</a>
* @since 2.1
*/

View File

@@ -138,22 +138,24 @@ public interface ReactiveRedisOperations<K, V> {
Mono<DataType> type(K key);
/**
* Find all keys matching the given {@code pattern}.
* Find all keys matching the given {@code pattern}. <br />
* <strong>IMPORTANT:</strong> It is recommended to use {@link #scan()} to iterate over the keyspace as
* {@link #keys(Object)} is a
* non-interruptible and expensive Redis operation.
*
* @param pattern must not be {@literal null}.
* @return
* @return the {@link Flux} emitting matching keys one by one.
* @throws IllegalArgumentException in case the pattern is {@literal null}.
* @see <a href="http://redis.io/commands/keys">Redis Documentation: KEYS</a>
* @deprecated Since 2.1. Use {@link #scan()} to iterate over the keyspace as {@link #keys(Object)} is a
* non-interruptible and expensive Redis operation.
*/
@Deprecated
Flux<K> keys(K pattern);
/**
* Use a {@link Flux} to iterate over keys. The resulting {@link Flux} acts as a cursor and issues {@code SCAN}
* commands itself as long as the subscriber signals demand.
*
* @return never {@literal null}.
* @return the {@link Flux} emitting the {@literal keys} one by one or an {@link Flux#empty() empty flux} if none
* exist.
* @see <a href="http://redis.io/commands/scan">Redis Documentation: SCAN</a>
* @since 2.1
*/
@@ -165,8 +167,10 @@ public interface ReactiveRedisOperations<K, V> {
* Use a {@link Flux} to iterate over keys. The resulting {@link Flux} acts as a cursor and issues {@code SCAN}
* commands itself as long as the subscriber signals demand.
*
* @param options must not be {@literal null}.
* @return never {@literal null}.
* @param options must not be {@literal null}. Use {@link ScanOptions#NONE} instead.
* @return the {@link Flux} emitting the {@literal keys} one by one or an {@link Flux#empty() empty flux} if none
* exist.
* @throws IllegalArgumentException when the given {@code options} is {@literal null}.
* @see <a href="http://redis.io/commands/scan">Redis Documentation: SCAN</a>
* @since 2.1
*/

View File

@@ -235,11 +235,13 @@ public interface ReactiveSetOperations<K, V> {
Flux<V> members(K key);
/**
* Use a {@link Flux} to iterate over entries in the set at {@code key} given {@link ScanOptions}. The resulting
* {@link Flux} acts as a cursor and issues {@code SSCAN} commands itself as long as the subscriber signals demand.
* Use a {@link Flux} to iterate over entries in the set at {@code key}. The resulting {@link Flux} acts as a cursor
* and issues {@code SSCAN} commands itself as long as the subscriber signals demand.
*
* @param key must not be {@literal null}.
* @return never {@literal null}.
* @return the {@link Flux} emitting the {@literal values} one by one or an {@link Flux#empty() empty Flux} if none
* exist.
* @throws IllegalArgumentException when given {@code key} is {@literal null}.
* @see <a href="http://redis.io/commands/sscan">Redis Documentation: SSCAN</a>
* @since 2.1
*/
@@ -252,8 +254,10 @@ public interface ReactiveSetOperations<K, V> {
* {@link Flux} acts as a cursor and issues {@code SSCAN} commands itself as long as the subscriber signals demand.
*
* @param key must not be {@literal null}.
* @param options must not be {@literal null}.
* @return never {@literal null}.
* @param options must not be {@literal null}. Use {@link ScanOptions#NONE} instead.
* @return the {@link Flux} emitting the {@literal values} one by one or an {@link Flux#empty() empty Flux} if the key
* does not exist.
* @throws IllegalArgumentException when one of the required arguments is {@literal null}.
* @see <a href="http://redis.io/commands/sscan">Redis Documentation: SSCAN</a>
* @since 2.1
*/

View File

@@ -229,12 +229,13 @@ public interface ReactiveZSetOperations<K, V> {
Flux<TypedTuple<V>> reverseRangeByScoreWithScores(K key, Range<Double> range, Limit limit);
/**
* Use a {@link Flux} to iterate over entries in the sorted set at {@code key} given {@link ScanOptions}. The
* resulting {@link Flux} acts as a cursor and issues {@code ZSCAN} commands itself as long as the subscriber signals
* demand.
* Use a {@link Flux} to iterate over entries in the sorted set at {@code key}. The resulting {@link Flux} acts as a
* cursor and issues {@code ZSCAN} commands itself as long as the subscriber signals demand.
*
* @param key must not be {@literal null}.
* @return never {@literal null}.
* @return the {@link Flux} emitting the {@literal values} one by one or an {@link Flux#empty() empty Flux} if none
* exist.
* @throws IllegalArgumentException when given {@code key} is {@literal null}.
* @see <a href="http://redis.io/commands/zscan">Redis Documentation: ZSCAN</a>
* @since 2.1
*/
@@ -248,8 +249,10 @@ public interface ReactiveZSetOperations<K, V> {
* demand.
*
* @param key must not be {@literal null}.
* @param options must not be {@literal null}.
* @return never {@literal null}.
* @param options must not be {@literal null}. Use {@link ScanOptions#NONE} instead.
* @return the {@link Flux} emitting the {@literal values} one by one or an {@link Flux#empty() empty Flux} if none
* exist.
* @throws IllegalArgumentException when one of the required arguments is {@literal null}.
* @see <a href="http://redis.io/commands/zscan">Redis Documentation: ZSCAN</a>
* @since 2.1
*/