Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
/**
* Copyright (c) 2013-2024 Nikita Koksharov
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.redisson.api;
import org.redisson.api.options.*;
import org.redisson.client.codec.Codec;
import org.redisson.codec.JsonCodec;
import org.redisson.config.Config;
import java.util.Collection;
import java.util.List;
/**
* Main Redisson interface for access
* to all redisson objects with Reactive interface.
*
* @see RedissonRxClient
* @see RedissonClient
*
* @author Nikita Koksharov
*
*/
public interface RedissonReactiveClient {
/**
* Returns time-series instance by name
*
* @param value type
* @param label type
* @param name name of instance
* @return RTimeSeries object
*/
RTimeSeriesReactive getTimeSeries(String name);
/**
* Returns time-series instance by name
* using provided codec for values.
*
* @param value type
* @param label type
* @param name name of instance
* @param codec codec for values
* @return RTimeSeries object
*/
RTimeSeriesReactive getTimeSeries(String name, Codec codec);
/**
* Returns time-series instance with specified options.
*
* @param value type
* @param label type
* @param options instance options
* @return RTimeSeries object
*/
RTimeSeriesReactive getTimeSeries(PlainOptions options);
/**
* Returns stream instance by name
*
* Requires Redis 5.0.0 and higher.
*
* @param type of key
* @param type of value
* @param name of stream
* @return RStream object
*/
RStreamReactive getStream(String name);
/**
* Returns stream instance by name
* using provided codec for entries.
*
* Requires Redis 5.0.0 and higher.
*
* @param type of key
* @param type of value
* @param name name of stream
* @param codec codec for entry
* @return RStream object
*/
RStreamReactive getStream(String name, Codec codec);
/**
* Returns time-series instance with specified options.
*
* Requires Redis 5.0.0 and higher.
*
* @param type of key
* @param type of value
* @param options instance options
* @return RStream object
*/
RStreamReactive getStream(PlainOptions options);
/**
* Returns API for RediSearch module
*
* @return RSearch object
*/
RSearchReactive getSearch();
/**
* Returns API for RediSearch module using defined codec for attribute values.
*
* @return RSearch object
*/
RSearchReactive getSearch(Codec codec);
/**
* Returns API for RediSearch module with specified options.
*
* @param options instance options
* @return RSearch object
*/
RSearchReactive getSearch(OptionalOptions options);
/**
* Returns geospatial items holder instance by name.
*
* @param type of value
* @param name name of object
* @return Geo object
*/
RGeoReactive getGeo(String name);
/**
* Returns geospatial items holder instance by name
* using provided codec for geospatial members.
*
* @param type of value
* @param name name of object
* @param codec codec for value
* @return Geo object
*/
RGeoReactive getGeo(String name, Codec codec);
/**
* Returns geospatial items holder instance with specified options.
*
* @param type of value
* @param options instance options
* @return Geo object
*/
RGeoReactive getGeo(PlainOptions options);
/**
* Returns rate limiter instance by name
*
* @param name of rate limiter
* @return RateLimiter object
*/
RRateLimiterReactive getRateLimiter(String name);
/**
* Returns rate limiter instance with specified options.
*
* @param options instance options
* @return RateLimiter object
*/
RRateLimiterReactive getRateLimiter(CommonOptions options);
/**
* Returns binary stream holder instance by name
*
* @param name of binary stream
* @return BinaryStream object
*/
RBinaryStreamReactive getBinaryStream(String name);
/**
* Returns binary stream holder instance with specified options.
*
* @param options instance options
* @return BinaryStream object
*/
RBinaryStreamReactive getBinaryStream(CommonOptions options);
/**
* Returns semaphore instance by name
*
* @param name name of object
* @return Semaphore object
*/
RSemaphoreReactive getSemaphore(String name);
/**
* Returns semaphore instance with specified options.
*
* @param options instance options
* @return Semaphore object
*/
RSemaphoreReactive getSemaphore(CommonOptions options);
/**
* Returns semaphore instance by name.
* Supports lease time parameter for each acquired permit.
*
* @param name name of object
* @return PermitExpirableSemaphore object
*/
RPermitExpirableSemaphoreReactive getPermitExpirableSemaphore(String name);
/**
* Returns semaphore instance with specified options.
* Supports lease time parameter for each acquired permit.
*
* @param options instance options
* @return PermitExpirableSemaphore object
*/
RPermitExpirableSemaphoreReactive getPermitExpirableSemaphore(CommonOptions options);
/**
* Returns ReadWriteLock instance by name.
*
* To increase reliability during failover, all operations wait for propagation to all Redis slaves.
*
* @param name name of object
* @return Lock object
*/
RReadWriteLockReactive getReadWriteLock(String name);
/**
* Returns ReadWriteLock instance with specified options.
*
* To increase reliability during failover, all operations wait for propagation to all Redis slaves.
*
* @param options instance options
* @return Lock object
*/
RReadWriteLockReactive getReadWriteLock(CommonOptions options);
/**
* Returns Lock instance by name.
*
* Implements a fair locking so it guarantees an acquire order by threads.
*
* To increase reliability during failover, all operations wait for propagation to all Redis slaves.
*
* @param name name of object
* @return Lock object
*/
RLockReactive getFairLock(String name);
/**
* Returns Lock instance with specified options.
*
* Implements a fair locking so it guarantees an acquire order by threads.
*
* To increase reliability during failover, all operations wait for propagation to all Redis slaves.
*
* @param options instance options
* @return Lock object
*/
RLockReactive getFairLock(CommonOptions options);
/**
* Returns Lock instance by name.
*
* Implements a non-fair locking so doesn't guarantees an acquire order by threads.
*
* To increase reliability during failover, all operations wait for propagation to all Redis slaves.
*
* @param name name of object
* @return Lock object
*/
RLockReactive getLock(String name);
/**
* Returns Lock instance with specified options.
*
* Implements a non-fair locking so doesn't guarantees an acquire order by threads.
*
* To increase reliability during failover, all operations wait for propagation to all Redis slaves.
*
* @param options instance options
* @return Lock object
*/
RLockReactive getLock(CommonOptions options);
/**
* Returns Spin lock instance by name.
*
* Implements a non-fair locking so doesn't guarantees an acquire order by threads.
*
* Lock doesn't use a pub/sub mechanism
*
* @param name name of object
* @return Lock object
*/
RLockReactive getSpinLock(String name);
/**
* Returns Spin lock instance by name with specified back off options.
*
* Implements a non-fair locking so doesn't guarantees an acquire order by threads.
*
* Lock doesn't use a pub/sub mechanism
*
* @param name name of object
* @return Lock object
*/
RLockReactive getSpinLock(String name, LockOptions.BackOff backOff);
/**
* Returns Fenced Lock by name.
*
* Implements a non-fair locking so doesn't guarantee an acquire order by threads.
*
* @param name name of object
* @return Lock object
*/
RFencedLockReactive getFencedLock(String name);
/**
* Returns Fenced Lock instance with specified options..
*
* Implements a non-fair locking so doesn't guarantee an acquire order by threads.
*
* @param options instance options
* @return Lock object
*/
RFencedLockReactive getFencedLock(CommonOptions options);
/**
* Returns MultiLock instance associated with specified locks
*
* @param locks collection of locks
* @return MultiLock object
*/
RLockReactive getMultiLock(RLockReactive... locks);
/**
* Returns RedissonFasterMultiLock instance associated with specified group and values
*
* @param group the group of values
* @param values lock values
* @return BatchLock object
*/
RLockReactive getMultiLock(String group, Collection