@@ -44,7 +44,7 @@ public abstract class BatchStrategies {
|
||||
* A {@link BatchStrategy} using a single {@code KEYS} and {@code DEL} command to remove all matching keys.
|
||||
* {@code KEYS} scans the entire keyspace of the Redis database and can block the Redis worker thread for a long time
|
||||
* on large keyspaces.
|
||||
* <p/>
|
||||
* <p>
|
||||
* {@code KEYS} is supported for standalone and clustered (sharded) Redis operation modes.
|
||||
*
|
||||
* @return batching strategy using {@code KEYS}.
|
||||
@@ -56,7 +56,7 @@ public abstract class BatchStrategies {
|
||||
/**
|
||||
* A {@link BatchStrategy} using a {@code SCAN} cursors and potentially multiple {@code DEL} commands to remove all
|
||||
* matching keys. This strategy allows a configurable batch size to optimize for scan batching.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Note that using the {@code SCAN} strategy might be not supported on all drivers and Redis operation modes.
|
||||
*
|
||||
* @return batching strategy using {@code SCAN}.
|
||||
|
||||
@@ -19,9 +19,9 @@ import org.springframework.data.redis.connection.RedisConnection;
|
||||
|
||||
/**
|
||||
* A {@link BatchStrategy} to be used with {@link RedisCacheWriter}.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Mainly used to clear the cache.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Predefined strategies using the {@link BatchStrategies#keys() KEYS} or {@link BatchStrategies#scan(int) SCAN}
|
||||
* commands can be found in {@link BatchStrategies}.
|
||||
*
|
||||
|
||||
@@ -39,7 +39,7 @@ import org.springframework.util.ReflectionUtils;
|
||||
|
||||
/**
|
||||
* {@link org.springframework.cache.Cache} implementation using for Redis as underlying store.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Use {@link RedisCacheManager} to create {@link RedisCache} instances.
|
||||
*
|
||||
* @author Christoph Strobl
|
||||
|
||||
@@ -362,6 +362,7 @@ public class RedisCacheConfiguration {
|
||||
* <ul>
|
||||
* <li>{@link String} to {@link byte byte[]} using UTF-8 encoding.</li>
|
||||
* <li>{@link SimpleKey} to {@link String}</li>
|
||||
* </ul>
|
||||
*
|
||||
* @param registry must not be {@literal null}.
|
||||
*/
|
||||
|
||||
@@ -32,10 +32,10 @@ import org.springframework.util.Assert;
|
||||
|
||||
/**
|
||||
* {@link org.springframework.cache.CacheManager} backed by a {@link RedisCache Redis} cache.
|
||||
* <p />
|
||||
* <p>
|
||||
* This cache manager creates caches by default upon first write. Empty caches are not visible on Redis due to how Redis
|
||||
* represents empty data structures.
|
||||
* <p />
|
||||
* <p>
|
||||
* Caches requiring a different {@link RedisCacheConfiguration} than the default configuration can be specified via
|
||||
* {@link RedisCacheManagerBuilder#withInitialCacheConfigurations(Map)}.
|
||||
*
|
||||
@@ -170,7 +170,7 @@ public class RedisCacheManager extends AbstractTransactionSupportingCacheManager
|
||||
* <dt>locking</dt>
|
||||
* <dd>disabled</dd>
|
||||
* <dt>batch strategy</dt>
|
||||
* <dd>{@link BatchStrategy#keys() KEYS}</dd>
|
||||
* <dd>{@link BatchStrategies#keys()}</dd>
|
||||
* <dt>cache configuration</dt>
|
||||
* <dd>{@link RedisCacheConfiguration#defaultCacheConfig()}</dd>
|
||||
* <dt>initial caches</dt>
|
||||
@@ -423,7 +423,7 @@ public class RedisCacheManager extends AbstractTransactionSupportingCacheManager
|
||||
|
||||
/**
|
||||
* Disable in-flight {@link org.springframework.cache.Cache} creation for unconfigured caches.
|
||||
* <p />
|
||||
* <p>
|
||||
* {@link RedisCacheManager#getMissingCache(String)} returns {@literal null} for any unconfigured
|
||||
* {@link org.springframework.cache.Cache} instead of a new {@link RedisCache} instance. This allows eg.
|
||||
* {@link org.springframework.cache.support.CompositeCacheManager} to chime in.
|
||||
|
||||
@@ -113,7 +113,7 @@ public class BitFieldSubCommands implements Iterable<BitFieldSubCommand> {
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtain a new {@link BitFieldIncrByBuilder} for creating and adding a {@link BitFieldIncrby} sub command.
|
||||
* Obtain a new {@link BitFieldIncrByBuilder} for creating and adding a {@link BitFieldIncrBy} sub command.
|
||||
*
|
||||
* @param type must not be {@literal null}.
|
||||
* @return
|
||||
@@ -125,7 +125,7 @@ public class BitFieldSubCommands implements Iterable<BitFieldSubCommand> {
|
||||
/**
|
||||
* Create new {@link BitFieldSubCommands} adding given {@link BitFieldIncrBy} to the sub commands.
|
||||
*
|
||||
* @param get must not be {@literal null}.
|
||||
* @param incrBy must not be {@literal null}.
|
||||
* @return
|
||||
*/
|
||||
protected BitFieldSubCommands incr(BitFieldIncrBy incrBy) {
|
||||
|
||||
@@ -56,7 +56,7 @@ public interface ReactiveClusterServerCommands extends ReactiveServerCommands {
|
||||
* Get time unix timestamp of last successful {@link #bgSave()} operation in seconds.
|
||||
*
|
||||
* @param node must not be {@literal null}.
|
||||
* @return @return {@link Mono} wrapping unix timestamp.
|
||||
* @return {@link Mono} wrapping unix timestamp.
|
||||
* @throws IllegalArgumentException when {@code node} is {@literal null}.
|
||||
* @see RedisServerCommands#lastSave()
|
||||
*/
|
||||
@@ -108,7 +108,6 @@ public interface ReactiveClusterServerCommands extends ReactiveServerCommands {
|
||||
* <li>cpu utilization</li>
|
||||
* <li>replication</li>
|
||||
* </ul>
|
||||
* <p>
|
||||
*
|
||||
* @param node must not be {@literal null}.
|
||||
* @return {@link Mono} wrapping server information.
|
||||
|
||||
@@ -17,8 +17,6 @@ package org.springframework.data.redis.connection;
|
||||
|
||||
import static org.springframework.data.redis.connection.RedisGeoCommands.*;
|
||||
|
||||
import org.springframework.data.redis.domain.geo.GeoReference;
|
||||
import org.springframework.data.redis.domain.geo.GeoShape;
|
||||
import reactor.core.publisher.Flux;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
@@ -43,6 +41,8 @@ import org.springframework.data.redis.connection.ReactiveRedisConnection.KeyComm
|
||||
import org.springframework.data.redis.connection.ReactiveRedisConnection.MultiValueResponse;
|
||||
import org.springframework.data.redis.connection.ReactiveRedisConnection.NumericResponse;
|
||||
import org.springframework.data.redis.connection.RedisGeoCommands.GeoRadiusCommandArgs.Flag;
|
||||
import org.springframework.data.redis.domain.geo.GeoReference;
|
||||
import org.springframework.data.redis.domain.geo.GeoShape;
|
||||
import org.springframework.lang.Nullable;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
@@ -1279,7 +1279,7 @@ public interface ReactiveGeoCommands {
|
||||
/**
|
||||
* Sets the geoset {@literal key}. Constructs a new command instance with all previously configured properties.
|
||||
*
|
||||
* @param member must not be {@literal null}.
|
||||
* @param reference must not be {@literal null}.
|
||||
* @return a new {@link GeoSearchCommand} with {@literal key} applied.
|
||||
*/
|
||||
public GeoSearchCommand at(GeoReference<ByteBuffer> reference) {
|
||||
@@ -1292,7 +1292,7 @@ public interface ReactiveGeoCommands {
|
||||
/**
|
||||
* Sets the geoset {@literal key}. Constructs a new command instance with all previously configured properties.
|
||||
*
|
||||
* @param member must not be {@literal null}.
|
||||
* @param key must not be {@literal null}.
|
||||
* @return a new {@link GeoSearchCommand} with {@literal key} applied.
|
||||
*/
|
||||
public GeoSearchCommand in(ByteBuffer key) {
|
||||
@@ -1370,7 +1370,7 @@ public interface ReactiveGeoCommands {
|
||||
/**
|
||||
* Sets the geoset {@literal key}. Constructs a new command instance with all previously configured properties.
|
||||
*
|
||||
* @param member must not be {@literal null}.
|
||||
* @param reference must not be {@literal null}.
|
||||
* @return a new {@link GeoSearchStoreCommand} with {@literal key} applied.
|
||||
*/
|
||||
public GeoSearchStoreCommand at(GeoReference<ByteBuffer> reference) {
|
||||
@@ -1383,7 +1383,7 @@ public interface ReactiveGeoCommands {
|
||||
/**
|
||||
* Sets the geoset {@literal key}. Constructs a new command instance with all previously configured properties.
|
||||
*
|
||||
* @param member must not be {@literal null}.
|
||||
* @param key must not be {@literal null}.
|
||||
* @return a new {@link GeoSearchStoreCommand} with {@literal key} applied.
|
||||
*/
|
||||
public GeoSearchStoreCommand in(ByteBuffer key) {
|
||||
@@ -1396,7 +1396,7 @@ public interface ReactiveGeoCommands {
|
||||
/**
|
||||
* Sets the geoset {@literal destKey}. Constructs a new command instance with all previously configured properties.
|
||||
*
|
||||
* @param member must not be {@literal null}.
|
||||
* @param destKey must not be {@literal null}.
|
||||
* @return a new {@link GeoSearchStoreCommand} with {@literal destKey} applied.
|
||||
*/
|
||||
public GeoSearchStoreCommand storeAt(ByteBuffer destKey) {
|
||||
|
||||
@@ -93,7 +93,7 @@ public interface ReactiveKeyCommands {
|
||||
/**
|
||||
* Applies {@code replace}. Constructs a new command instance with all previously configured properties.
|
||||
*
|
||||
* @param key must not be {@literal null}.
|
||||
* @param replace
|
||||
* @return a new {@link CopyCommand} with {@literal replace} applied.
|
||||
*/
|
||||
public CopyCommand replace(boolean replace) {
|
||||
|
||||
@@ -830,7 +830,7 @@ public interface ReactiveListCommands {
|
||||
* Atomically returns and removes the first/last element (head/tail depending on the {@code from} argument) of the
|
||||
* list stored at {@code sourceKey}, and pushes the element at the first/last element (head/tail depending on the
|
||||
* {@code to} argument) of the list stored at {@code destinationKey}.
|
||||
* <p/>
|
||||
* <p>
|
||||
* <b>Blocks connection</b> until element available or {@code timeout} reached.
|
||||
*
|
||||
* @param commands must not be {@literal null}.
|
||||
|
||||
@@ -34,7 +34,7 @@ public interface ReactivePubSubCommands {
|
||||
|
||||
/**
|
||||
* Creates a subscription for this connection. Connections can have multiple {@link ReactiveSubscription}s.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Use {@link #createSubscription(SubscriptionListener)} to get notified when the subscription completes.
|
||||
*
|
||||
* @return the subscription.
|
||||
@@ -77,7 +77,7 @@ public interface ReactivePubSubCommands {
|
||||
* Subscribes the connection to the given {@code channels}. Once subscribed, a connection enters listening mode and
|
||||
* can only subscribe to other channels or unsubscribe. No other commands are accepted until the connection is
|
||||
* unsubscribed.
|
||||
* <p />
|
||||
* <p>
|
||||
* Note that cancellation of the {@link Flux} will unsubscribe from {@code channels}.
|
||||
*
|
||||
* @param channels channel names, must not be {@literal null}.
|
||||
@@ -89,7 +89,7 @@ public interface ReactivePubSubCommands {
|
||||
* Subscribes the connection to all channels matching the given {@code patterns}. Once subscribed, a connection enters
|
||||
* listening mode and can only subscribe to other channels or unsubscribe. No other commands are accepted until the
|
||||
* connection is unsubscribed.
|
||||
* <p />
|
||||
* <p>
|
||||
* Note that cancellation of the {@link Flux} will unsubscribe from {@code patterns}.
|
||||
*
|
||||
* @param patterns channel name patterns, must not be {@literal null}.
|
||||
|
||||
@@ -96,7 +96,6 @@ public interface ReactiveServerCommands {
|
||||
* <li>cpu utilization</li>
|
||||
* <li>replication</li>
|
||||
* </ul>
|
||||
* <p>
|
||||
*
|
||||
* @return {@link Mono} wrapping server information.
|
||||
* @see <a href="https://redis.io/commands/info">Redis Documentation: INFO</a>
|
||||
|
||||
@@ -576,7 +576,7 @@ public interface ReactiveSetCommands {
|
||||
/**
|
||||
* Creates a new {@link SMIsMemberCommand} given one or more {@literal values}.
|
||||
*
|
||||
* @param value must not be {@literal null}.
|
||||
* @param values must not be {@literal null}.
|
||||
* @return a new {@link SMIsMemberCommand} for a {@literal value}.
|
||||
*/
|
||||
public static SMIsMemberCommand values(List<ByteBuffer> values) {
|
||||
|
||||
@@ -276,7 +276,7 @@ public interface ReactiveStringCommands {
|
||||
/**
|
||||
* Applies {@link Expiration}. Constructs a new command instance with all previously configured properties.
|
||||
*
|
||||
* @param options must not be {@literal null}.
|
||||
* @param expiration must not be {@literal null}.
|
||||
* @return a new {@link GetExCommand} with {@link Expiration} applied.
|
||||
*/
|
||||
public GetExCommand withExpiration(Expiration expiration) {
|
||||
|
||||
@@ -29,7 +29,7 @@ import org.springframework.util.ObjectUtils;
|
||||
* {@link #subscribe(ByteBuffer...) channels} and {@link #pSubscribe(ByteBuffer...) patterns}. It provides access to the
|
||||
* {@link ChannelMessage} {@link #receive() stream} that emits only messages for channels and patterns registered in
|
||||
* this {@link ReactiveSubscription}.
|
||||
* <p />
|
||||
* <p>
|
||||
* A reactive Redis connection can have multiple subscriptions. If two or more subscriptions subscribe to the same
|
||||
* target (channel/pattern) and one unsubscribes, then the other one will no longer receive messages for the target due
|
||||
* to how Redis handled Pub/Sub subscription.
|
||||
@@ -103,7 +103,7 @@ public interface ReactiveSubscription {
|
||||
/**
|
||||
* Retrieve the message stream emitting {@link Message messages}. The resulting message stream contains only messages
|
||||
* for subscribed and registered {@link #getChannels() channels} and {@link #getPatterns() patterns}.
|
||||
* <p />
|
||||
* <p>
|
||||
* Stream publishing uses {@link reactor.core.publisher.ConnectableFlux} turning the stream into a hot sequence.
|
||||
* Emission is paused if there is no demand. Messages received in that time are buffered. This stream terminates
|
||||
* either if all subscribers unsubscribe or if this {@link Subscription} is {@link #cancel() is terminated}.
|
||||
|
||||
@@ -1540,7 +1540,7 @@ public interface ReactiveZSetCommands {
|
||||
* Applies a {@link Duration timeout}. Constructs a new command instance with all previously configured properties.
|
||||
*
|
||||
* @param timeout value.
|
||||
* @param timeout must not be {@literal null}.
|
||||
* @param timeUnit must not be {@literal null}.
|
||||
* @return a new {@link BZPopCommand} with {@link Duration timeout} applied.
|
||||
*/
|
||||
public BZPopCommand blockingFor(long timeout, TimeUnit timeUnit) {
|
||||
|
||||
@@ -67,8 +67,7 @@ public class RedisClusterConfiguration implements RedisConfiguration, ClusterCon
|
||||
* clusterHostAndPorts[0] = 127.0.0.1:23679
|
||||
* clusterHostAndPorts[1] = 127.0.0.1:23680 ...
|
||||
* </code>
|
||||
*
|
||||
* <pre>
|
||||
* </pre>
|
||||
*
|
||||
* @param clusterNodes must not be {@literal null}.
|
||||
*/
|
||||
|
||||
@@ -218,7 +218,7 @@ public interface RedisListCommands {
|
||||
* Atomically returns and removes the first/last element (head/tail depending on the {@code from} argument) of the
|
||||
* list stored at {@code sourceKey}, and pushes the element at the first/last element (head/tail depending on the
|
||||
* {@code to} argument) of the list stored at {@code destinationKey}.
|
||||
* <p/>
|
||||
* <p>
|
||||
* <b>Blocks connection</b> until element available or {@code timeout} reached.
|
||||
*
|
||||
* @param sourceKey must not be {@literal null}.
|
||||
|
||||
@@ -27,9 +27,9 @@ import org.springframework.util.StringUtils;
|
||||
|
||||
/**
|
||||
* Value object which may or may not contain a Redis password.
|
||||
* <p/>
|
||||
* <p>
|
||||
* If a password is present, {@code isPresent()} will return {@code true} and {@code get()} will return the value.
|
||||
* <p/>
|
||||
* <p>
|
||||
* The password is stored as character array.
|
||||
*
|
||||
* @author Mark Paluch
|
||||
@@ -109,7 +109,7 @@ public class RedisPassword {
|
||||
|
||||
/**
|
||||
* Map the password using a {@link Function} and return a {@link Optional} containing the mapped value.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Absent passwords return a {@link Optional#empty()}.
|
||||
*
|
||||
* @param mapper must not be {@literal null}.
|
||||
@@ -124,7 +124,7 @@ public class RedisPassword {
|
||||
|
||||
/**
|
||||
* Adopt the password to {@link Optional} containing the password value.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Absent passwords return a {@link Optional#empty()}.
|
||||
*
|
||||
* @return the {@link Optional} containing the password value.
|
||||
|
||||
@@ -67,8 +67,7 @@ public class RedisSentinelConfiguration implements RedisConfiguration, SentinelC
|
||||
*
|
||||
* <pre>
|
||||
* sentinelHostAndPorts[0] = 127.0.0.1:23679 sentinelHostAndPorts[1] = 127.0.0.1:23680 ...
|
||||
*
|
||||
* <pre>
|
||||
* </pre>
|
||||
*
|
||||
* @param sentinelHostAndPorts must not be {@literal null}.
|
||||
* @since 1.5
|
||||
|
||||
@@ -115,7 +115,6 @@ public interface RedisServerCommands {
|
||||
* <li>cpu utilization</li>
|
||||
* <li>replication</li>
|
||||
* </ul>
|
||||
* <p>
|
||||
*
|
||||
* @return {@literal null} when used in pipeline / transaction.
|
||||
* @see <a href="https://redis.io/commands/info">Redis Documentation: INFO</a>
|
||||
|
||||
@@ -87,9 +87,8 @@ public interface RedisStreamCommands {
|
||||
}
|
||||
|
||||
/**
|
||||
* Append the given {@link MapRecord record} to the stream stored at {@link Record#getStream()}. <br />
|
||||
* If you prefer manual id assignment over server generated ones make sure to provide an id via
|
||||
* {@link Record#withId(RecordId)}.
|
||||
* Append the given {@link MapRecord record} to the stream stored at {@code Record#getStream}. If you prefer manual id
|
||||
* assignment over server generated ones make sure to provide an id via {@code Record#withId}.
|
||||
*
|
||||
* @param record the {@link MapRecord record} to append.
|
||||
* @return the {@link RecordId id} after save. {@literal null} when used in pipeline / transaction.
|
||||
@@ -100,9 +99,8 @@ public interface RedisStreamCommands {
|
||||
}
|
||||
|
||||
/**
|
||||
* Append the given {@link MapRecord record} to the stream stored at {@link Record#getStream()}. <br />
|
||||
* If you prefer manual id assignment over server generated ones make sure to provide an id via
|
||||
* {@link Record#withId(RecordId)}.
|
||||
* Append the given {@link MapRecord record} to the stream stored at {@code Record#getStream}. If you prefer manual id
|
||||
* assignment over server generated ones make sure to provide an id via {@code Record#withId}.
|
||||
*
|
||||
* @param record the {@link MapRecord record} to append.
|
||||
* @param options additional options (eg. {@literal MAXLEN}). Must not be {@literal null}, use
|
||||
|
||||
@@ -59,7 +59,7 @@ public interface RedisStringCommands {
|
||||
|
||||
/**
|
||||
* Return the value at {@code key} and expire the key by applying {@link Expiration}.
|
||||
* <p />
|
||||
* <p>
|
||||
* Use {@link Expiration#seconds(long)} for {@code EX}. <br />
|
||||
* Use {@link Expiration#milliseconds(long)} for {@code PX}. <br />
|
||||
* Use {@link Expiration#unixTimestamp(long, TimeUnit)} for {@code EXAT | PXAT}. <br />
|
||||
@@ -385,29 +385,21 @@ public interface RedisStringCommands {
|
||||
|
||||
/**
|
||||
* Do not set any additional command argument.
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
UPSERT,
|
||||
|
||||
/**
|
||||
* {@code NX}
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
SET_IF_ABSENT,
|
||||
|
||||
/**
|
||||
* {@code XX}
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
SET_IF_PRESENT;
|
||||
|
||||
/**
|
||||
* Do not set any additional command argument.
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public static SetOption upsert() {
|
||||
return UPSERT;
|
||||
@@ -415,8 +407,6 @@ public interface RedisStringCommands {
|
||||
|
||||
/**
|
||||
* {@code XX}
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public static SetOption ifPresent() {
|
||||
return SET_IF_PRESENT;
|
||||
@@ -424,8 +414,6 @@ public interface RedisStringCommands {
|
||||
|
||||
/**
|
||||
* {@code NX}
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public static SetOption ifAbsent() {
|
||||
return SET_IF_ABSENT;
|
||||
|
||||
@@ -29,7 +29,6 @@ public interface RedisTxCommands {
|
||||
/**
|
||||
* Mark the start of a transaction block. <br>
|
||||
* Commands will be queued and can then be executed by calling {@link #exec()} or rolled back using {@link #discard()}
|
||||
* <p>
|
||||
*
|
||||
* @see <a href="https://redis.io/commands/multi">Redis Documentation: MULTI</a>
|
||||
*/
|
||||
|
||||
@@ -577,7 +577,7 @@ public interface RedisZSetCommands {
|
||||
* @param key must not be {@literal null}.
|
||||
* @param score the score.
|
||||
* @param value the value.
|
||||
* @param args must not be {@literal null} use {@link ZAddArgs#none()} instead.
|
||||
* @param args must not be {@literal null} use {@link ZAddArgs#empty()} instead.
|
||||
* @return {@literal null} when used in pipeline / transaction.
|
||||
* @since 2.5
|
||||
* @see <a href="https://redis.io/commands/zadd">Redis Documentation: ZADD</a>
|
||||
@@ -604,7 +604,7 @@ public interface RedisZSetCommands {
|
||||
*
|
||||
* @param key must not be {@literal null}.
|
||||
* @param tuples must not be {@literal null}.
|
||||
* @param args must not be {@literal null} use {@link ZAddArgs#none()} instead.
|
||||
* @param args must not be {@literal null} use {@link ZAddArgs#empty()} instead.
|
||||
* @return {@literal null} when used in pipeline / transaction.
|
||||
* @since 2.5
|
||||
* @see <a href="https://redis.io/commands/zadd">Redis Documentation: ZADD</a>
|
||||
@@ -1308,7 +1308,6 @@ public interface RedisZSetCommands {
|
||||
/**
|
||||
* Union sorted {@code sets}.
|
||||
*
|
||||
* @param destKey must not be {@literal null}.
|
||||
* @param sets must not be {@literal null}.
|
||||
* @return {@literal null} when used in pipeline / transaction.
|
||||
* @since 2.6
|
||||
@@ -1320,7 +1319,6 @@ public interface RedisZSetCommands {
|
||||
/**
|
||||
* Union sorted {@code sets}.
|
||||
*
|
||||
* @param destKey must not be {@literal null}.
|
||||
* @param sets must not be {@literal null}.
|
||||
* @return {@literal null} when used in pipeline / transaction.
|
||||
* @since 2.6
|
||||
|
||||
@@ -72,17 +72,17 @@ public interface SortParameters {
|
||||
Boolean isAlphabetic();
|
||||
|
||||
/**
|
||||
* Returns the pattern (if set) for sorting by external keys (<tt>BY</tt>). Can be null if nothing is specified.
|
||||
* Returns the pattern (if set) for sorting by external keys ({@code BY}). Can be null if nothing is specified.
|
||||
*
|
||||
* @return <tt>BY</tt> pattern. {@literal null} if not set.
|
||||
* @return {@code BY} pattern. {@literal null} if not set.
|
||||
*/
|
||||
@Nullable
|
||||
byte[] getByPattern();
|
||||
|
||||
/**
|
||||
* Returns the pattern (if set) for retrieving external keys (<tt>GET</tt>). Can be null if nothing is specified.
|
||||
* Returns the pattern (if set) for retrieving external keys ({@code GET}). Can be null if nothing is specified.
|
||||
*
|
||||
* @return <tt>GET</tt> pattern. {@literal null} if not set.
|
||||
* @return {@code GET} pattern. {@literal null} if not set.
|
||||
*/
|
||||
@Nullable
|
||||
byte[][] getGetPattern();
|
||||
|
||||
@@ -144,7 +144,7 @@ public interface StringRedisConnection extends RedisConnection {
|
||||
* @param replace whether to replace existing keys.
|
||||
* @return {@literal null} when used in pipeline / transaction.
|
||||
* @see <a href="https://redis.io/commands/copy">Redis Documentation: COPY</a>
|
||||
* @see RedisKeyCommands#copy(byte[], byte[])
|
||||
* @see RedisKeyCommands#copy(byte[], byte[], boolean)
|
||||
*/
|
||||
Boolean copy(String sourceKey, String targetKey, boolean replace);
|
||||
|
||||
@@ -1224,7 +1224,7 @@ public interface StringRedisConnection extends RedisConnection {
|
||||
* @param key must not be {@literal null}.
|
||||
* @param score must not be {@literal null}.
|
||||
* @param value must not be {@literal null}.
|
||||
* @param args must not be {@literal null} use {@link ZAddArgs#none()} instead.
|
||||
* @param args must not be {@literal null} use {@link ZAddArgs#empty()} instead.
|
||||
* @return {@literal null} when used in pipeline / transaction.
|
||||
* @since 2.5
|
||||
* @see <a href="https://redis.io/commands/zadd">Redis Documentation: ZADD</a>
|
||||
@@ -1249,7 +1249,7 @@ public interface StringRedisConnection extends RedisConnection {
|
||||
*
|
||||
* @param key must not be {@literal null}.
|
||||
* @param tuples must not be {@literal null}.
|
||||
* @param args must not be {@literal null} use {@link ZAddArgs#none()} instead.
|
||||
* @param args must not be {@literal null} use {@link ZAddArgs#empty()} instead.
|
||||
* @return {@literal null} when used in pipeline / transaction.
|
||||
* @since 2.5
|
||||
* @see <a href="https://redis.io/commands/zadd">Redis Documentation: ZADD</a>
|
||||
@@ -1792,7 +1792,6 @@ public interface StringRedisConnection extends RedisConnection {
|
||||
/**
|
||||
* Union sorted {@code sets}.
|
||||
*
|
||||
* @param destKey must not be {@literal null}.
|
||||
* @param sets must not be {@literal null}.
|
||||
* @return {@literal null} when used in pipeline / transaction.
|
||||
* @since 2.6
|
||||
@@ -1804,7 +1803,6 @@ public interface StringRedisConnection extends RedisConnection {
|
||||
/**
|
||||
* Union sorted {@code sets}.
|
||||
*
|
||||
* @param destKey must not be {@literal null}.
|
||||
* @param sets must not be {@literal null}.
|
||||
* @return {@literal null} when used in pipeline / transaction.
|
||||
* @since 2.6
|
||||
@@ -1935,7 +1933,7 @@ public interface StringRedisConnection extends RedisConnection {
|
||||
*
|
||||
* @param key must not be {@literal null}.
|
||||
* @param range must not be {@literal null}.
|
||||
* @param range can be {@literal null}.
|
||||
* @param limit can be {@literal null}.
|
||||
* @return
|
||||
* @since 1.6
|
||||
* @see <a href="https://redis.io/commands/zrangebylex">Redis Documentation: ZRANGEBYLEX</a>
|
||||
@@ -1971,12 +1969,12 @@ public interface StringRedisConnection extends RedisConnection {
|
||||
}
|
||||
|
||||
/**
|
||||
* Get all the elements in {@link Range} from the sorted set at {@literal key} in reversed lexicographical ordering. Result is
|
||||
* limited via {@link Limit}.
|
||||
* Get all the elements in {@link Range} from the sorted set at {@literal key} in reversed lexicographical ordering.
|
||||
* Result is limited via {@link Limit}.
|
||||
*
|
||||
* @param key must not be {@literal null}.
|
||||
* @param range must not be {@literal null}.
|
||||
* @param range can be {@literal null}.
|
||||
* @param limit must not be {@literal null}.
|
||||
* @return
|
||||
* @since 2.4
|
||||
* @see <a href="https://redis.io/commands/zrevrangebylex">Redis Documentation: ZREVRANGEBYLEX</a>
|
||||
|
||||
@@ -17,7 +17,7 @@ package org.springframework.data.redis.connection;
|
||||
|
||||
/**
|
||||
* Listener for subscription notifications.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Subscription notifications are reported by Redis as confirmation for subscribe and unsubscribe operations for
|
||||
* channels and patterns.
|
||||
*
|
||||
|
||||
@@ -33,7 +33,7 @@ import org.springframework.util.Assert;
|
||||
/**
|
||||
* Redis client configuration for jedis. This configuration provides optional configuration elements such as
|
||||
* {@link SSLSocketFactory} and {@link JedisPoolConfig} specific to jedis client features.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Providing optional elements allows a more specific configuration of the client:
|
||||
* <ul>
|
||||
* <li>Whether to use SSL</li>
|
||||
@@ -46,7 +46,6 @@ import org.springframework.util.Assert;
|
||||
* <li>Connect {@link Duration timeout}</li>
|
||||
* <li>Read {@link Duration timeout}</li>
|
||||
* </ul>
|
||||
* <p />
|
||||
*
|
||||
* @author Mark Paluch
|
||||
* @author Christoph Strobl
|
||||
@@ -152,7 +151,7 @@ public interface JedisClientConfiguration {
|
||||
|
||||
/**
|
||||
* Enable connection-pooling.
|
||||
* <p />
|
||||
* <p>
|
||||
* Applies only to single node Redis. Sentinel and Cluster modes use always connection-pooling regardless of the
|
||||
* pooling setting.
|
||||
*
|
||||
|
||||
@@ -702,7 +702,7 @@ public class JedisConnectionFactory implements InitializingBean, DisposableBean,
|
||||
|
||||
/**
|
||||
* Indicates the use of a connection pool.
|
||||
* <p />
|
||||
* <p>
|
||||
* Applies only to single node Redis. Sentinel and Cluster modes use always connection-pooling regardless of the
|
||||
* pooling setting.
|
||||
*
|
||||
|
||||
@@ -40,7 +40,7 @@ import org.springframework.data.redis.connection.stream.StreamRecords;
|
||||
|
||||
/**
|
||||
* Converters for Redis Stream-specific types.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Converters typically convert between value objects/argument objects retaining the actual types of values (i.e. no
|
||||
* serialization/deserialization happens here).
|
||||
*
|
||||
|
||||
@@ -64,7 +64,7 @@ public class DefaultLettucePool implements LettucePool, InitializingBean {
|
||||
public DefaultLettucePool() {}
|
||||
|
||||
/**
|
||||
* Uses the {@link Config} and {@link RedisClient} defaults for configuring the connection pool
|
||||
* Uses the {@link GenericObjectPoolConfig} defaults for configuring the connection pool
|
||||
*
|
||||
* @param hostName The Redis host
|
||||
* @param port The Redis port
|
||||
|
||||
@@ -864,7 +864,7 @@ public class LettuceConnectionFactory
|
||||
* Returns the native {@link AbstractRedisClient} used by this instance. The client is initialized as part of
|
||||
* {@link #afterPropertiesSet() the bean initialization lifecycle} and only available when this connection factory is
|
||||
* initialized.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Depending on the configuration, the client can be either {@link RedisClient} or {@link RedisClusterClient}.
|
||||
*
|
||||
* @return the native {@link AbstractRedisClient}. Can be {@literal null} if not initialized.
|
||||
@@ -881,7 +881,7 @@ public class LettuceConnectionFactory
|
||||
* Returns the native {@link AbstractRedisClient} used by this instance. The client is initialized as part of
|
||||
* {@link #afterPropertiesSet() the bean initialization lifecycle} and only available when this connection factory is
|
||||
* initialized. Throws {@link IllegalStateException} if not yet initialized.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Depending on the configuration, the client can be either {@link RedisClient} or {@link RedisClusterClient}.
|
||||
*
|
||||
* @return the native {@link AbstractRedisClient}.
|
||||
|
||||
@@ -23,13 +23,13 @@ import java.util.concurrent.CompletionStage;
|
||||
|
||||
/**
|
||||
* Defines a provider for Lettuce connections.
|
||||
* <p />
|
||||
* <p>
|
||||
* This interface is typically used to encapsulate a native factory which returns a {@link StatefulConnection
|
||||
* connection} of on each invocation.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Connection providers may create a new connection on each invocation or return pooled instances. Each obtained
|
||||
* connection must be released through its connection provider to allow disposal or release back to the pool.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Connection providers are usually associated with a {@link io.lettuce.core.codec.RedisCodec} to create connections
|
||||
* with an appropriate codec.
|
||||
*
|
||||
|
||||
@@ -42,11 +42,11 @@ import org.springframework.util.Assert;
|
||||
/**
|
||||
* {@link LettuceConnectionProvider} with connection pooling support. This connection provider holds multiple pools (one
|
||||
* per connection type and allocation type (synchronous/asynchronous)) for contextualized connection allocation.
|
||||
* <p />
|
||||
* <p>
|
||||
* Each allocated connection is tracked and to be returned into the pool which created the connection. Instances of this
|
||||
* class require {@link #destroy() disposal} to de-allocate lingering connections that were not returned to the pool and
|
||||
* to close the pools.
|
||||
* <p />
|
||||
* <p>
|
||||
* This provider maintains separate pools due to the allocation nature (synchronous/asynchronous). Asynchronous
|
||||
* connection pooling requires a non-blocking allocation API. Connections requested asynchronously can be returned
|
||||
* synchronously and vice versa. A connection obtained synchronously is returned to the synchronous pool even if
|
||||
|
||||
@@ -254,7 +254,7 @@ class LettuceReactiveSubscription implements ReactiveSubscription {
|
||||
* Create a message stream from connect {@link Function}. Multiple calls to this method are lock-free synchronized.
|
||||
* The first successful caller creates the actual stream. Other concurrent callers that do not pass the
|
||||
* synchronization use the stream created by the first successful caller.
|
||||
* <p/>
|
||||
* <p>
|
||||
* The stream registers a disposal function upon subscription for external {@link #terminate() termination}.
|
||||
*
|
||||
* @param connectFunction
|
||||
|
||||
@@ -25,7 +25,7 @@ import org.springframework.lang.Nullable;
|
||||
/**
|
||||
* Lettuce-specific {@link ScanCursor} extension that maintains the cursor state that is required for stateful-scanning
|
||||
* across a Redis Cluster.
|
||||
* <p/>
|
||||
* <p>
|
||||
* The cursor state uses Lettuce's stateful {@link io.lettuce.core.ScanCursor} to keep track of scanning progress.
|
||||
*
|
||||
* @author Mark Paluch
|
||||
|
||||
@@ -42,7 +42,7 @@ import org.springframework.util.NumberUtils;
|
||||
|
||||
/**
|
||||
* Converters for Redis Stream-specific types.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Converters typically convert between value objects/argument objects retaining the actual types of values (i.e. no
|
||||
* serialization/deserialization happens here).
|
||||
*
|
||||
|
||||
@@ -94,7 +94,7 @@ public interface ByteBufferRecord extends MapRecord<ByteBuffer, ByteBuffer, Byte
|
||||
/**
|
||||
* Convert a binary {@link MapRecord} into an {@link ObjectRecord}.
|
||||
*
|
||||
* @param source must not be {@literal null}.
|
||||
* @param mapper must not be {@literal null}.
|
||||
* @return new instance of {@link ByteRecord}.
|
||||
*/
|
||||
@SuppressWarnings({ "unchecked", "rawtypes" })
|
||||
|
||||
@@ -29,7 +29,6 @@ import org.springframework.util.Assert;
|
||||
* <p>
|
||||
* As the rest of the APIs, if the underlying connection is pipelined or queued/in multi mode, all methods will return
|
||||
* {@literal null}.
|
||||
* <p>
|
||||
*
|
||||
* @author Costin Leau
|
||||
* @author Christoph Strobl
|
||||
|
||||
@@ -159,7 +159,7 @@ public interface BoundListOperations<K, V> extends BoundKeyOperations<K> {
|
||||
* Atomically returns and removes the first/last element (head/tail depending on the {@code from} argument) of the
|
||||
* list stored at the bound key, and pushes the element at the first/last element (head/tail depending on the
|
||||
* {@code to} argument) of the list stored at {@code destinationKey}.
|
||||
* <p/>
|
||||
* <p>
|
||||
* <b>Blocks connection</b> until element available or {@code timeout} reached.
|
||||
*
|
||||
* @param from must not be {@literal null}.
|
||||
@@ -177,7 +177,7 @@ public interface BoundListOperations<K, V> extends BoundKeyOperations<K> {
|
||||
* Atomically returns and removes the first/last element (head/tail depending on the {@code from} argument) of the
|
||||
* list stored at the bound key, and pushes the element at the first/last element (head/tail depending on the
|
||||
* {@code to} argument) of the list stored at {@code destinationKey}.
|
||||
* <p/>
|
||||
* <p>
|
||||
* <b>Blocks connection</b> until element available or {@code timeout} reached.
|
||||
*
|
||||
* @param from must not be {@literal null}.
|
||||
|
||||
@@ -92,7 +92,6 @@ public interface BoundSetOperations<K, V> extends BoundKeyOperations<K> {
|
||||
/**
|
||||
* Check if set at at the bound key contains one or more {@code values}.
|
||||
*
|
||||
* @param key must not be {@literal null}.
|
||||
* @param objects
|
||||
* @return {@literal null} when used in pipeline / transaction.
|
||||
* @since 2.6
|
||||
|
||||
@@ -174,7 +174,6 @@ public interface BoundValueOperations<K, V> extends BoundKeyOperations<K> {
|
||||
/**
|
||||
* Return the value at the bound key and delete the key.
|
||||
*
|
||||
* @param key must not be {@literal null}.
|
||||
* @return {@literal null} when key does not exist or used in pipeline / transaction.
|
||||
* @see <a href="https://redis.io/commands/getdel">Redis Documentation: GETDEL</a>
|
||||
* @since 2.6
|
||||
|
||||
@@ -164,7 +164,6 @@ public interface BoundZSetOperations<K, V> extends BoundKeyOperations<K> {
|
||||
/**
|
||||
* Get {@code count} random elements with their score from set at the bound key.
|
||||
*
|
||||
* @param key must not be {@literal null}.
|
||||
* @param count nr of members to return.
|
||||
* @return empty {@link List} if {@code key} does not exist or {@literal null} when used in pipeline / transaction.
|
||||
* @throws IllegalArgumentException if count is negative.
|
||||
@@ -551,7 +550,7 @@ public interface BoundZSetOperations<K, V> extends BoundKeyOperations<K> {
|
||||
/**
|
||||
* Diff sorted {@code sets} and store result in destination {@code destKey}.
|
||||
*
|
||||
* @param otherKeys must not be {@literal null}.
|
||||
* @param otherKey must not be {@literal null}.
|
||||
* @param destKey must not be {@literal null}.
|
||||
* @return {@literal null} when used in pipeline / transaction.
|
||||
* @since 2.6
|
||||
|
||||
@@ -21,7 +21,7 @@ import java.util.List;
|
||||
* Mapper translating Redis bulk value responses (typically returned by a sort query) to actual objects. Implementations
|
||||
* of this interface do not have to worry about exception or connection handling.
|
||||
* <p>
|
||||
* Typically used by {@link RedisTemplate} <tt>sort</tt> methods.
|
||||
* Typically used by {@link RedisTemplate} {@code sort} methods.
|
||||
*
|
||||
* @author Costin Leau
|
||||
*/
|
||||
|
||||
@@ -20,11 +20,11 @@ import org.springframework.data.util.CloseableIterator;
|
||||
/**
|
||||
* Cursor abstraction to scan over the keyspace or elements within a data structure using a variant of a {@code SCAN}
|
||||
* command.
|
||||
* <p />
|
||||
* <p>
|
||||
* Using a Java 8 {@link #stream() java.util.stream.Stream} allows to apply additional
|
||||
* {@link java.util.stream.Stream#filter(java.util.function.Predicate) filters} and {@link java.util.stream.Stream#limit(long) limits} to
|
||||
* the underlying {@link Cursor}.
|
||||
* <p />
|
||||
* {@link java.util.stream.Stream#filter(java.util.function.Predicate) filters} and
|
||||
* {@link java.util.stream.Stream#limit(long) limits} to the underlying {@link Cursor}.
|
||||
* <p>
|
||||
* Make sure to {@link CloseableIterator#close() close} the cursor when done as this allows implementations to clean up
|
||||
* any resources they need to keep open to iterate over elements (eg. by using a try-with-resource statement).
|
||||
*
|
||||
|
||||
@@ -19,7 +19,7 @@ import org.springframework.data.redis.hash.HashMapper;
|
||||
|
||||
/**
|
||||
* Function that returns a {@link HashMapper} for a given {@link Class type}.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Implementors of this interface can return a generic or a specific {@link HashMapper} implementation, depending on the
|
||||
* serialization strategy for the requested {@link Class target type}.
|
||||
*
|
||||
|
||||
@@ -277,7 +277,7 @@ public interface ListOperations<K, V> {
|
||||
* Atomically returns and removes the first/last element (head/tail depending on the {@code from} argument) of the
|
||||
* list stored at {@code sourceKey}, and pushes the element at the first/last element (head/tail depending on the
|
||||
* {@code to} argument) of the list stored at {@code destinationKey}.
|
||||
* <p/>
|
||||
* <p>
|
||||
* <b>Blocks connection</b> until element available or {@code timeout} reached.
|
||||
*
|
||||
* @param from must not be {@literal null}.
|
||||
@@ -303,7 +303,7 @@ public interface ListOperations<K, V> {
|
||||
* Atomically returns and removes the first/last element (head/tail depending on the {@code from} argument) of the
|
||||
* list stored at {@code sourceKey}, and pushes the element at the first/last element (head/tail depending on the
|
||||
* {@code to} argument) of the list stored at {@code destinationKey}.
|
||||
* <p/>
|
||||
* <p>
|
||||
* <b>Blocks connection</b> until element available or {@code timeout} reached.
|
||||
*
|
||||
* @param sourceKey must not be {@literal null}.
|
||||
@@ -329,7 +329,7 @@ public interface ListOperations<K, V> {
|
||||
* Atomically returns and removes the first/last element (head/tail depending on the {@code from} argument) of the
|
||||
* list stored at {@code sourceKey}, and pushes the element at the first/last element (head/tail depending on the
|
||||
* {@code to} argument) of the list stored at {@code destinationKey}.
|
||||
* <p/>
|
||||
* <p>
|
||||
* <b>Blocks connection</b> until element available or {@code timeout} reached.
|
||||
*
|
||||
* @param sourceKey must not be {@literal null}.
|
||||
|
||||
@@ -209,7 +209,7 @@ public interface ReactiveListOperations<K, V> {
|
||||
* Atomically returns and removes the first/last element (head/tail depending on the {@code from} argument) of the
|
||||
* list stored at {@code sourceKey}, and pushes the element at the first/last element (head/tail depending on the
|
||||
* {@code to} argument) of the list stored at {@code destinationKey}.
|
||||
* <p/>
|
||||
* <p>
|
||||
* <b>Blocks connection</b> until element available or {@code timeout} reached.
|
||||
*
|
||||
* @param from must not be {@literal null}.
|
||||
@@ -234,7 +234,7 @@ public interface ReactiveListOperations<K, V> {
|
||||
* Atomically returns and removes the first/last element (head/tail depending on the {@code from} argument) of the
|
||||
* list stored at {@code sourceKey}, and pushes the element at the first/last element (head/tail depending on the
|
||||
* {@code to} argument) of the list stored at {@code destinationKey}.
|
||||
* <p/>
|
||||
* <p>
|
||||
* <b>Blocks connection</b> until element available or {@code timeout} reached.
|
||||
*
|
||||
* @param sourceKey must not be {@literal null}.
|
||||
|
||||
@@ -23,7 +23,7 @@ import org.springframework.data.redis.connection.ReactiveRedisConnection;
|
||||
* Generic callback interface for code that wants to use the same {@link ReactiveRedisConnection} avoiding connection
|
||||
* allocation overhead upon each Template API method call. Allows to execute any number of operations on a single
|
||||
* {@link ReactiveRedisConnection}, using any type and number of commands.
|
||||
* <p />
|
||||
* <p>
|
||||
* This is particularly useful for issuing multiple calls on the same connection.
|
||||
*
|
||||
* @param <T>
|
||||
@@ -36,7 +36,7 @@ public interface ReactiveRedisSessionCallback<K, V, T> {
|
||||
/**
|
||||
* Gets called by {@link ReactiveRedisOperations#executeInSession(ReactiveRedisSessionCallback)} with an active Redis
|
||||
* connection. Does not need to care about activating or closing the {@link ReactiveRedisConnection}.
|
||||
* <p />
|
||||
* <p>
|
||||
* Allows for returning a result object created within the callback, i.e. a domain object or a collection of domain
|
||||
* objects.
|
||||
*
|
||||
|
||||
@@ -49,10 +49,10 @@ import org.springframework.util.ClassUtils;
|
||||
|
||||
/**
|
||||
* Central abstraction for reactive Redis data access implementing {@link ReactiveRedisOperations}.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Performs automatic serialization/deserialization between the given objects and the underlying binary data in the
|
||||
* Redis store.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Note that while the template is generified, it is up to the serializers/deserializers to properly convert the given
|
||||
* Objects to and from binary data.
|
||||
*
|
||||
|
||||
@@ -105,7 +105,7 @@ public interface ReactiveSetOperations<K, V> {
|
||||
* Check if set at {@code key} contains one or more {@code values}.
|
||||
*
|
||||
* @param key must not be {@literal null}.
|
||||
* @param values
|
||||
* @param objects
|
||||
* @return
|
||||
* @since 2.6
|
||||
* @see <a href="https://redis.io/commands/smismember">Redis Documentation: SMISMEMBER</a>
|
||||
|
||||
@@ -533,7 +533,7 @@ public interface ReactiveZSetOperations<K, V> {
|
||||
* Diff sorted {@code sets} and store result in destination {@code destKey}.
|
||||
*
|
||||
* @param key must not be {@literal null}.
|
||||
* @param otherKeys must not be {@literal null}.
|
||||
* @param otherKey must not be {@literal null}.
|
||||
* @param destKey must not be {@literal null}.
|
||||
* @return
|
||||
* @since 2.6
|
||||
|
||||
@@ -29,8 +29,8 @@ import org.springframework.lang.Nullable;
|
||||
public interface RedisClusterCallback<T> {
|
||||
|
||||
/**
|
||||
* Gets called by {@link RedisClusterTemplate} with an active Redis connection. Does not need to care about activating
|
||||
* or closing the connection or handling exceptions.
|
||||
* Gets called by {@link ClusterOperations} with an active Redis connection. Does not need to care about activating or
|
||||
* closing the connection or handling exceptions.
|
||||
*
|
||||
* @param connection never {@literal null}.
|
||||
* @return
|
||||
|
||||
@@ -87,8 +87,7 @@ public class RedisKeyValueTemplate extends KeyValueTemplate {
|
||||
* }
|
||||
* }, RedisSession.class);
|
||||
* </code>
|
||||
*
|
||||
* <pre>
|
||||
* </pre>
|
||||
*
|
||||
* @param callback provides the to retrieve entity ids. Must not be {@literal null}.
|
||||
* @param type must not be {@literal null}.
|
||||
|
||||
@@ -58,7 +58,7 @@ public interface RedisOperations<K, V> {
|
||||
*
|
||||
* @param <T> return type
|
||||
* @param action callback object that specifies the Redis action. Must not be {@literal null}.
|
||||
* @return a result object returned by the action or <tt>null</tt>
|
||||
* @return a result object returned by the action or {@literal null}
|
||||
*/
|
||||
@Nullable
|
||||
<T> T execute(RedisCallback<T> action);
|
||||
@@ -69,7 +69,7 @@ public interface RedisOperations<K, V> {
|
||||
*
|
||||
* @param <T> return type
|
||||
* @param session session callback. Must not be {@literal null}.
|
||||
* @return result object returned by the action or <tt>null</tt>
|
||||
* @return result object returned by the action or {@literal null}
|
||||
*/
|
||||
@Nullable
|
||||
<T> T execute(SessionCallback<T> session);
|
||||
@@ -502,7 +502,6 @@ public interface RedisOperations<K, V> {
|
||||
/**
|
||||
* Mark the start of a transaction block. <br>
|
||||
* Commands will be queued and can then be executed by calling {@link #exec()} or rolled back using {@link #discard()}
|
||||
* <p>
|
||||
*
|
||||
* @see <a href="https://redis.io/commands/multi">Redis Documentation: MULTI</a>
|
||||
*/
|
||||
@@ -580,7 +579,6 @@ public interface RedisOperations<K, V> {
|
||||
*
|
||||
* @param destination the channel to publish to, must not be {@literal null}.
|
||||
* @param message message to publish
|
||||
* @return the number of clients that received the message
|
||||
* @see <a href="https://redis.io/commands/publish">Redis Documentation: PUBLISH</a>
|
||||
*/
|
||||
void convertAndSend(String destination, Object message);
|
||||
@@ -626,8 +624,9 @@ public interface RedisOperations<K, V> {
|
||||
<HK, HV> HashOperations<K, HK, HV> opsForHash();
|
||||
|
||||
/**
|
||||
* Returns the operations performed on hash values bound to the given key. * @param <HK> hash key (or field) type
|
||||
* Returns the operations performed on hash values bound to the given key.
|
||||
*
|
||||
* @param <HK> hash key (or field) type
|
||||
* @param <HV> hash value type
|
||||
* @param key Redis key
|
||||
* @return hash operations bound to the given key.
|
||||
|
||||
@@ -59,21 +59,21 @@ import org.springframework.util.CollectionUtils;
|
||||
|
||||
/**
|
||||
* Helper class that simplifies Redis data access code.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Performs automatic serialization/deserialization between the given objects and the underlying binary data in the
|
||||
* Redis store. By default, it uses Java serialization for its objects (through {@link JdkSerializationRedisSerializer}
|
||||
* ). For String intensive operations consider the dedicated {@link StringRedisTemplate}.
|
||||
* <p/>
|
||||
* <p>
|
||||
* The central method is execute, supporting Redis access code implementing the {@link RedisCallback} interface. It
|
||||
* provides {@link RedisConnection} handling such that neither the {@link RedisCallback} implementation nor the calling
|
||||
* code needs to explicitly care about retrieving/closing Redis connections, or handling Connection lifecycle
|
||||
* exceptions. For typical single step actions, there are various convenience methods.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Once configured, this class is thread-safe.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Note that while the template is generified, it is up to the serializers/deserializers to properly convert the given
|
||||
* Objects to and from binary data.
|
||||
* <p/>
|
||||
* <p>
|
||||
* <b>This is the central class in Redis support</b>.
|
||||
*
|
||||
* @author Costin Leau
|
||||
@@ -83,7 +83,6 @@ import org.springframework.util.CollectionUtils;
|
||||
* @author Mark Paluch
|
||||
* @author Denis Zavedeev
|
||||
* @author ihaohong
|
||||
*
|
||||
* @param <K> the Redis key type against which the template works (usually a String)
|
||||
* @param <V> the Redis value type against which the template works
|
||||
* @see StringRedisTemplate
|
||||
@@ -412,7 +411,7 @@ public class RedisTemplate<K, V> extends RedisAccessor implements RedisOperation
|
||||
|
||||
/**
|
||||
* Sets whether to expose the Redis connection to {@link RedisCallback} code. Default is "false": a proxy will be
|
||||
* returned, suppressing <tt>quit</tt> and <tt>disconnect</tt> calls.
|
||||
* returned, suppressing {@code quit} and {@code disconnect} calls.
|
||||
*
|
||||
* @param exposeConnection
|
||||
*/
|
||||
|
||||
@@ -35,7 +35,7 @@ import org.springframework.util.Assert;
|
||||
|
||||
/**
|
||||
* Utility to provide a {@link HashMapper} for Stream object conversion.
|
||||
* <p/>
|
||||
* <p>
|
||||
* This utility can use generic a {@link HashMapper} or adapt specifically to {@link ObjectHashMapper}'s requirement to
|
||||
* convert incoming data into byte arrays. This class can be subclassed to override template methods for specific object
|
||||
* mapping strategies.
|
||||
|
||||
@@ -20,13 +20,12 @@ import org.springframework.data.redis.connection.RedisConnection;
|
||||
import org.springframework.data.redis.connection.RedisConnectionFactory;
|
||||
import org.springframework.data.redis.connection.StringRedisConnection;
|
||||
import org.springframework.data.redis.serializer.RedisSerializer;
|
||||
import org.springframework.data.redis.serializer.StringRedisSerializer;
|
||||
|
||||
/**
|
||||
* String-focused extension of RedisTemplate. Since most operations against Redis are String based, this class provides
|
||||
* a dedicated class that minimizes configuration of its more generic {@link RedisTemplate template} especially in terms
|
||||
* of serializers.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Note that this template exposes the {@link RedisConnection} used by the {@link RedisCallback} as a
|
||||
* {@link StringRedisConnection}.
|
||||
*
|
||||
|
||||
@@ -80,8 +80,8 @@ import org.springframework.util.comparator.NullSafeComparator;
|
||||
* @Id String id;
|
||||
* String firstname;
|
||||
*
|
||||
* List<String> nicknames;
|
||||
* List<Person> coworkers;
|
||||
* List<String> nicknames;
|
||||
* List<Person> coworkers;
|
||||
*
|
||||
* Address address;
|
||||
* @Reference Country nationality;
|
||||
|
||||
@@ -24,7 +24,7 @@ package org.springframework.data.redis.core.index;
|
||||
public interface IndexDefinitionRegistry {
|
||||
|
||||
/**
|
||||
* Add given {@link RedisIndexSetting}.
|
||||
* Add given {@link IndexDefinition}.
|
||||
*
|
||||
* @param indexDefinition must not be {@literal null}.
|
||||
*/
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
/**
|
||||
* Core package for integrating <a href="https://redis.io">Redis</a> with Spring concepts.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Provides template support and callback for low-level access.
|
||||
*/
|
||||
@org.springframework.lang.NonNullApi
|
||||
|
||||
@@ -128,7 +128,7 @@ public class Expiration {
|
||||
|
||||
/**
|
||||
* Obtain an {@link Expiration} that indicates to keep the existing one. Eg. when sending a {@code SET} command.
|
||||
* <p />
|
||||
* <p>
|
||||
* <strong>NOTE: </strong>Please follow the documentation of the individual commands to see if {@link #keepTtl()} is
|
||||
* applicable.
|
||||
*
|
||||
|
||||
@@ -59,10 +59,9 @@ import com.fasterxml.jackson.databind.ser.std.DateSerializer;
|
||||
* {@link ObjectMapper} based {@link HashMapper} implementation that allows flattening. Given an entity {@code Person}
|
||||
* with an {@code Address} like below the flattening will create individual hash entries for all nested properties and
|
||||
* resolve complex types into simple types, as far as possible.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Flattening requires all property names to not interfere with JSON paths. Using dots or brackets in map keys or as
|
||||
* property names is not supported using flattening. The resulting hash cannot be mapped back into an Object.
|
||||
* <p/>
|
||||
* <h3>Example</h3>
|
||||
*
|
||||
* <pre class="code">
|
||||
|
||||
@@ -123,7 +123,7 @@ public class ObjectHashMapper implements HashMapper<Object, byte[], byte[]> {
|
||||
}
|
||||
|
||||
/**
|
||||
* Return a shared default {@value ObjectHashMapper} instance, lazily building it once needed.
|
||||
* Return a shared default {@link ObjectHashMapper} instance, lazily building it once needed.
|
||||
* <p>
|
||||
* <b>NOTE:</b> We highly recommend constructing individual {@link ObjectHashMapper} instances for customization
|
||||
* purposes. This accessor is only meant as a fallback for code paths which need simple type coercion but cannot
|
||||
|
||||
@@ -56,11 +56,11 @@ import org.springframework.util.ObjectUtils;
|
||||
* Container providing a stream of {@link ChannelMessage} for messages received via Redis Pub/Sub listeners. The stream
|
||||
* is infinite and registers Redis subscriptions. Handles the low level details of listening, converting and message
|
||||
* dispatching.
|
||||
* <p />
|
||||
* <p>
|
||||
* Note the container allocates a single connection when it is created and releases the connection on
|
||||
* {@link #destroy()}. Connections are allocated eagerly to not interfere with non-blocking use during application
|
||||
* operations. Using reactive infrastructure allows usage of a single connection due to channel multiplexing.
|
||||
* <p />
|
||||
* <p>
|
||||
* This class is thread-safe and allows subscription by multiple concurrent threads.
|
||||
*
|
||||
* @author Mark Paluch
|
||||
@@ -166,7 +166,7 @@ public class ReactiveRedisMessageListenerContainer implements DisposableBean {
|
||||
* {@link Mono} completes. Messages and channel names are treated as {@link String}. The message stream subscribes
|
||||
* lazily to the Redis channels and unsubscribes if the inner {@link org.reactivestreams.Subscription} is
|
||||
* {@link org.reactivestreams.Subscription#cancel() cancelled}.
|
||||
* <p/>
|
||||
* <p>
|
||||
* The returned {@link Mono} completes once the connection has been subscribed to the given {@link Topic topics}. Note
|
||||
* that cancelling the returned {@link Mono} can leave the connection in a subscribed state.
|
||||
*
|
||||
@@ -209,7 +209,7 @@ public class ReactiveRedisMessageListenerContainer implements DisposableBean {
|
||||
* {@link Mono} completes. Messages, pattern, and channel names are treated as {@link String}. The message stream
|
||||
* subscribes lazily to the Redis channels and unsubscribes if the inner {@link org.reactivestreams.Subscription} is
|
||||
* {@link org.reactivestreams.Subscription#cancel() cancelled}.
|
||||
* <p/>
|
||||
* <p>
|
||||
* The returned {@link Mono} completes once the connection has been subscribed to the given {@link Topic topics}. Note
|
||||
* that cancelling the returned {@link Mono} can leave the connection in a subscribed state.
|
||||
*
|
||||
|
||||
@@ -43,13 +43,13 @@ import org.springframework.util.StringUtils;
|
||||
* Message listener adapter that delegates the handling of messages to target listener methods via reflection, with
|
||||
* flexible message type conversion. Allows listener methods to operate on message content types, completely independent
|
||||
* from the Redis API.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Make sure to call {@link #afterPropertiesSet()} after setting all the parameters on the adapter.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Note that if the underlying "delegate" is implementing {@link MessageListener}, the adapter will delegate to it and
|
||||
* allow an invalid method to be specified. However if it is not, the method becomes mandatory. This lenient behavior
|
||||
* allows the adapter to be used uniformly across existing listeners and message POJOs.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Modeled as much as possible after the JMS MessageListenerAdapter in Spring Framework.
|
||||
* <p>
|
||||
* By default, the content of incoming Redis messages gets extracted before being passed into the target listener
|
||||
@@ -93,7 +93,6 @@ import org.springframework.util.StringUtils;
|
||||
* @author Thomas Darimont
|
||||
* @author Christoph Strobl
|
||||
* @author Mark Paluch
|
||||
* @see org.springframework.jms.listener.adapter.MessageListenerAdapter
|
||||
*/
|
||||
public class MessageListenerAdapter implements InitializingBean, MessageListener {
|
||||
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
/**
|
||||
* Redis specific implementation of repository support
|
||||
*/
|
||||
@org.springframework.lang.NonNullApi
|
||||
@org.springframework.lang.NonNullFields
|
||||
package org.springframework.data.redis.repository;
|
||||
@@ -40,11 +40,11 @@ import org.springframework.util.StringUtils;
|
||||
|
||||
/**
|
||||
* Mapper for Query-by-Example examples to an actual query.
|
||||
* <p/>
|
||||
* <p>
|
||||
* This mapper creates a {@link RedisOperationChain} for a given {@link Example} considering exact matches,
|
||||
* {@link PropertyValueTransformer value transformations} and {@link MatchMode} for indexed simple and nested type
|
||||
* properties. {@link java.util.Map} and {@link java.util.Collection} properties are not considered.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Example matching is limited to case-sensitive and exact matches only.
|
||||
*
|
||||
* @author Mark Paluch
|
||||
|
||||
@@ -38,7 +38,7 @@ import org.springframework.util.Assert;
|
||||
|
||||
/**
|
||||
* Repository fragment implementing Redis {@link QueryByExampleExecutor Query-by-Example} operations.
|
||||
* <p/>
|
||||
* <p>
|
||||
* This executor uses {@link ExampleQueryMapper} to map {@link Example}s into {@link KeyValueQuery} to execute its query
|
||||
* methods.
|
||||
*
|
||||
|
||||
@@ -21,7 +21,7 @@ import org.springframework.util.Assert;
|
||||
|
||||
/**
|
||||
* Serialization context for reactive use.
|
||||
* <p />
|
||||
* <p>
|
||||
* This context provides {@link SerializationPair}s for key, value, hash-key (field), hash-value and {@link String}
|
||||
* serialization and deserialization.
|
||||
*
|
||||
|
||||
@@ -45,7 +45,7 @@ import org.springframework.util.ObjectUtils;
|
||||
/**
|
||||
* Simple {@link Executor} based {@link StreamMessageListenerContainer} implementation for running {@link Task tasks} to
|
||||
* poll on Redis Streams.
|
||||
* <p />
|
||||
* <p>
|
||||
* This message container creates long-running tasks that are executed on {@link Executor}.
|
||||
*
|
||||
* @author Mark Paluch
|
||||
|
||||
@@ -41,7 +41,7 @@ import org.springframework.util.ErrorHandler;
|
||||
/**
|
||||
* Abstraction used by the framework representing a message listener container. <strong>Not</strong> meant to be
|
||||
* implemented externally.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Once created, a {@link StreamMessageListenerContainer} can subscribe to a Redis Stream and consume incoming
|
||||
* {@link Record messages}. {@link StreamMessageListenerContainer} allows multiple stream read requests and returns a
|
||||
* {@link Subscription} handle per read request. Cancelling the {@link Subscription} terminates eventually background
|
||||
@@ -79,16 +79,16 @@ import org.springframework.util.ErrorHandler;
|
||||
* <strong>Note: Using {@link ReadOffset#latest()} bears the chance of dropped messages as messages can arrive in the
|
||||
* time during polling is suspended. Use messagedId's as offset or {@link ReadOffset#lastConsumed()} to minimize the
|
||||
* chance of message loss.</strong>
|
||||
* <p/>
|
||||
* <p>
|
||||
* {@link StreamMessageListenerContainer} requires a {@link Executor} to fork long-running polling tasks on a different
|
||||
* {@link Thread}. This thread is used as event loop to poll for stream messages and invoke the
|
||||
* {@link StreamListener#onMessage(Record) listener callback}.
|
||||
* <p/>
|
||||
* <p>
|
||||
* {@link StreamMessageListenerContainer} tasks propagate errors during stream reads and
|
||||
* {@link StreamListener#onMessage(Record) listener notification} to a configurable {@link ErrorHandler}. Errors stop a
|
||||
* {@link Subscription} by default. Configuring a {@link Predicate} for a {@link StreamReadRequest} allows conditional
|
||||
* subscription cancelling or continuing on all errors.
|
||||
* <p/>
|
||||
* <p>
|
||||
* See the following example code how to use {@link StreamMessageListenerContainer}:
|
||||
*
|
||||
* <pre class="code">
|
||||
@@ -158,10 +158,9 @@ public interface StreamMessageListenerContainer<K, V extends Record<K, ?>> exten
|
||||
* Register a new subscription for a Redis Stream. If the {@link StreamMessageListenerContainer#isRunning() is already
|
||||
* running} the {@link Subscription} will be added and run immediately, otherwise it'll be scheduled and started once
|
||||
* the container is actually {@link StreamMessageListenerContainer#start() started}.
|
||||
* <p/>
|
||||
* Errors during {@link org.springframework.data.redis.connection.RedisStreamCommands.StreamMessage} retrieval lead to
|
||||
* {@link Subscription#cancel() cancellation} of the underlying task.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Errors during {@link Record} retrieval lead to {@link Subscription#cancel() cancellation} of the underlying task.
|
||||
* <p>
|
||||
* On {@link StreamMessageListenerContainer#stop()} all {@link Subscription subscriptions} are cancelled prior to
|
||||
* shutting down the container itself.
|
||||
*
|
||||
@@ -178,13 +177,13 @@ public interface StreamMessageListenerContainer<K, V extends Record<K, ?>> exten
|
||||
* Register a new subscription for a Redis Stream. If the {@link StreamMessageListenerContainer#isRunning() is already
|
||||
* running} the {@link Subscription} will be added and run immediately, otherwise it'll be scheduled and started once
|
||||
* the container is actually {@link StreamMessageListenerContainer#start() started}.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Every message must be acknowledged using
|
||||
* {@link org.springframework.data.redis.core.StreamOperations#acknowledge(Object, String, String...)} after
|
||||
* processing.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Errors during {@link Record} retrieval lead to {@link Subscription#cancel() cancellation} of the underlying task.
|
||||
* <p/>
|
||||
* <p>
|
||||
* On {@link StreamMessageListenerContainer#stop()} all {@link Subscription subscriptions} are cancelled prior to
|
||||
* shutting down the container itself.
|
||||
*
|
||||
@@ -204,11 +203,11 @@ public interface StreamMessageListenerContainer<K, V extends Record<K, ?>> exten
|
||||
* Register a new subscription for a Redis Stream. If the {@link StreamMessageListenerContainer#isRunning() is already
|
||||
* running} the {@link Subscription} will be added and run immediately, otherwise it'll be scheduled and started once
|
||||
* the container is actually {@link StreamMessageListenerContainer#start() started}.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Every message is acknowledged when received.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Errors during {@link Record} retrieval lead to {@link Subscription#cancel() cancellation} of the underlying task.
|
||||
* <p/>
|
||||
* <p>
|
||||
* On {@link StreamMessageListenerContainer#stop()} all {@link Subscription subscriptions} are cancelled prior to
|
||||
* shutting down the container itself.
|
||||
*
|
||||
@@ -227,13 +226,13 @@ public interface StreamMessageListenerContainer<K, V extends Record<K, ?>> exten
|
||||
* Register a new subscription for a Redis Stream. If the {@link StreamMessageListenerContainer#isRunning() is already
|
||||
* running} the {@link Subscription} will be added and run immediately, otherwise it'll be scheduled and started once
|
||||
* the container is actually {@link StreamMessageListenerContainer#start() started}.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Errors during {@link Record} are tested against test {@link StreamReadRequest#getCancelSubscriptionOnError()
|
||||
* cancellation predicate} whether to cancel the underlying task.
|
||||
* <p/>
|
||||
* <p>
|
||||
* On {@link StreamMessageListenerContainer#stop()} all {@link Subscription subscriptions} are cancelled prior to
|
||||
* shutting down the container itself.
|
||||
* <p />
|
||||
* <p>
|
||||
* Errors during {@link Record} retrieval are delegated to the given {@link StreamReadRequest#getErrorHandler()}.
|
||||
*
|
||||
* @param streamRequest must not be {@literal null}.
|
||||
|
||||
@@ -42,7 +42,7 @@ import org.springframework.util.Assert;
|
||||
|
||||
/**
|
||||
* A receiver to consume Redis Streams using reactive infrastructure.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Once created, a {@link StreamReceiver} can subscribe to a Redis Stream and consume incoming {@link Record records}.
|
||||
* Consider a {@link Flux} of {@link Record} infinite. Cancelling the {@link org.reactivestreams.Subscription}
|
||||
* terminates eventually background polling. Records are converted using {@link SerializationPair key and value
|
||||
@@ -84,7 +84,7 @@ import org.springframework.util.Assert;
|
||||
* {@link StreamReceiver} propagates errors during stream reads and deserialization as terminal error signal by default.
|
||||
* Configuring a {@link StreamReceiverOptions#getResumeFunction() resume function} allows conditional resumption by
|
||||
* dropping the record or by propagating the error to terminate the subscription.
|
||||
* <p/>
|
||||
* <p>
|
||||
* See the following example code how to use {@link StreamReceiver}:
|
||||
*
|
||||
* <pre class="code">
|
||||
@@ -144,7 +144,7 @@ public interface StreamReceiver<K, V extends Record<K, ?>> {
|
||||
* Starts a Redis Stream consumer that consumes {@link Record records} from the {@link StreamOffset stream}. Records
|
||||
* are consumed from Redis and delivered on the returned {@link Flux} when requests are made on the Flux. The receiver
|
||||
* is closed when the returned {@link Flux} terminates.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Every record must be acknowledged using
|
||||
* {@link org.springframework.data.redis.connection.ReactiveStreamCommands#xAck(ByteBuffer, String, String...)}
|
||||
*
|
||||
@@ -158,7 +158,7 @@ public interface StreamReceiver<K, V extends Record<K, ?>> {
|
||||
* Starts a Redis Stream consumer that consumes {@link Record records} from the {@link StreamOffset stream}. Records
|
||||
* are consumed from Redis and delivered on the returned {@link Flux} when requests are made on the Flux. The receiver
|
||||
* is closed when the returned {@link Flux} terminates.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Every record is acknowledged when received.
|
||||
*
|
||||
* @param consumer consumer group, must not be {@literal null}.
|
||||
@@ -173,7 +173,7 @@ public interface StreamReceiver<K, V extends Record<K, ?>> {
|
||||
* Starts a Redis Stream consumer that consumes {@link Record records} from the {@link StreamOffset stream}. Records
|
||||
* are consumed from Redis and delivered on the returned {@link Flux} when requests are made on the Flux. The receiver
|
||||
* is closed when the returned {@link Flux} terminates.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Every record must be acknowledged using
|
||||
* {@link org.springframework.data.redis.core.ReactiveStreamOperations#acknowledge(Object, String, String...)} after
|
||||
* processing.
|
||||
|
||||
@@ -19,10 +19,9 @@ import java.time.Duration;
|
||||
|
||||
/**
|
||||
* The {@link Subscription} is the link to the actual running {@link Task}.
|
||||
* <p />
|
||||
* <p>
|
||||
* Due to the asynchronous nature of the {@link Task} execution a {@link Subscription} might not immediately become
|
||||
* active. {@link #isActive()} provides an answer if the underlying {@link Task} is already running.
|
||||
* <p />
|
||||
*
|
||||
* @author Mark Paluch
|
||||
* @since 2.2
|
||||
|
||||
@@ -102,7 +102,7 @@ public interface RedisList<E> extends RedisCollection<E>, List<E>, BlockingDeque
|
||||
* Atomically returns and removes the first element of the list stored at the bound key, and pushes the element at the
|
||||
* first/last element (head/tail depending on the {@link Direction destinationPosition} argument) of the list stored
|
||||
* at {@link RedisList destination}.
|
||||
* <p/>
|
||||
* <p>
|
||||
* <b>Blocks connection</b> until element available or {@code timeout} reached.
|
||||
*
|
||||
* @param destination must not be {@literal null}.
|
||||
@@ -127,7 +127,7 @@ public interface RedisList<E> extends RedisCollection<E>, List<E>, BlockingDeque
|
||||
* Atomically returns and removes the first element of the list stored at the bound key, and pushes the element at the
|
||||
* first/last element (head/tail depending on the {@link Direction destinationPosition} argument) of the list stored
|
||||
* at {@link RedisList destination}.
|
||||
* <p/>
|
||||
* <p>
|
||||
* <b>Blocks connection</b> until element available or {@code timeout} reached.
|
||||
*
|
||||
* @param destination must not be {@literal null}.
|
||||
@@ -161,7 +161,7 @@ public interface RedisList<E> extends RedisCollection<E>, List<E>, BlockingDeque
|
||||
* Atomically returns and removes the last element of the list stored at the bound key, and pushes the element at the
|
||||
* first/last element (head/tail depending on the {@link Direction destinationPosition} argument) of the list stored
|
||||
* at {@link RedisList destination}.
|
||||
* <p/>
|
||||
* <p>
|
||||
* <b>Blocks connection</b> until element available or {@code timeout} reached.
|
||||
*
|
||||
* @param destination must not be {@literal null}.
|
||||
@@ -186,7 +186,7 @@ public interface RedisList<E> extends RedisCollection<E>, List<E>, BlockingDeque
|
||||
* Atomically returns and removes the last element of the list stored at the bound key, and pushes the element at the
|
||||
* first/last element (head/tail depending on the {@link Direction destinationPosition} argument) of the list stored
|
||||
* at {@link RedisList destination}.
|
||||
* <p/>
|
||||
* <p>
|
||||
* <b>Blocks connection</b> until element available or {@code timeout} reached.
|
||||
*
|
||||
* @param destination must not be {@literal null}.
|
||||
|
||||
@@ -38,7 +38,7 @@ import org.springframework.lang.Nullable;
|
||||
* {@link Properties} extension for a Redis back-store. Useful for reading (and storing) properties inside a Redis hash.
|
||||
* Particularly useful inside a Spring container for hooking into Spring's property placeholder or
|
||||
* {@link org.springframework.beans.factory.config.PropertiesFactoryBean}.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Note that this implementation only accepts Strings - objects of other type are not supported.
|
||||
*
|
||||
* @see Properties
|
||||
|
||||
@@ -33,7 +33,7 @@ import org.springframework.data.redis.core.ZSetOperations.TypedTuple;
|
||||
/**
|
||||
* Redis ZSet (or sorted set (by weight)). Acts as a {@link SortedSet} based on the given priorities or weights
|
||||
* associated with each item.
|
||||
* <p/>
|
||||
* <p>
|
||||
* Since using a {@link Comparator} does not apply, a ZSet implements the {@link SortedSet} methods where applicable.
|
||||
*
|
||||
* @author Costin Leau
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
/**
|
||||
* Package providing implementations for most of the {@code java.util} collections on top of Redis.
|
||||
* <p/>
|
||||
* <p>
|
||||
* For indexed collections, such as {@link java.util.List}, {@link java.util.Queue} or {@link java.util.Deque} consider
|
||||
* {@link org.springframework.data.redis.support.collections.RedisList}.
|
||||
* <p/>
|
||||
* <p>
|
||||
* For collections without duplicates the obvious candidate is
|
||||
* {@link org.springframework.data.redis.support.collections.RedisSet}. Use
|
||||
* {@link org.springframework.data.redis.support.collections.RedisZSet} if a certain order is required.
|
||||
|
||||
@@ -1,6 +0,0 @@
|
||||
/**
|
||||
* Classes supporting the Redis packages, such as collection or atomic counters.
|
||||
*/
|
||||
@org.springframework.lang.NonNullApi
|
||||
@org.springframework.lang.NonNullFields
|
||||
package org.springframework.data.redis.support;
|
||||
@@ -38,7 +38,7 @@ public final class ByteUtils {
|
||||
|
||||
/**
|
||||
* Concatenate the given {@code byte} arrays into one, with overlapping array elements included twice.
|
||||
* <p />
|
||||
* <p>
|
||||
* The order of elements in the original arrays is preserved.
|
||||
*
|
||||
* @param array1 the first array.
|
||||
@@ -56,7 +56,7 @@ public final class ByteUtils {
|
||||
/**
|
||||
* Concatenate the given {@code byte} arrays into one, with overlapping array elements included twice. Returns a new,
|
||||
* empty array if {@code arrays} was empty and returns the first array if {@code arrays} contains only a single array.
|
||||
* <p />
|
||||
* <p>
|
||||
* The order of elements in the original arrays is preserved.
|
||||
*
|
||||
* @param arrays the arrays.
|
||||
|
||||
Reference in New Issue
Block a user