public class RedissonRateLimiter extends RedissonObject implements RRateLimiter
codec, commandExecutor, name| Constructor and Description |
|---|
RedissonRateLimiter(CommandAsyncExecutor commandExecutor,
String name) |
| Modifier and Type | Method and Description |
|---|---|
void |
acquire()
Acquires a permit from this RateLimiter, blocking until one is available.
|
void |
acquire(long permits)
Acquires a specified
permits from this RateLimiter,
blocking until one is available. |
RFuture<Void> |
acquireAsync()
Acquires a permit from this RateLimiter, blocking until one is available.
|
RFuture<Void> |
acquireAsync(long permits)
Acquires a specified
permits from this RateLimiter,
blocking until one is available. |
long |
availablePermits()
Returns amount of available permits.
|
RFuture<Long> |
availablePermitsAsync()
Returns amount of available permits.
|
boolean |
clearExpire()
Clear an expire timeout or expire date for object.
|
RFuture<Boolean> |
clearExpireAsync()
Clear an expire timeout or expire date for object in async mode.
|
protected RFuture<Boolean> |
clearExpireAsync(String... keys) |
RFuture<Boolean> |
deleteAsync()
Delete object in async mode
|
boolean |
expire(Instant instant)
Set an expire date for object.
|
boolean |
expire(long timeToLive,
TimeUnit timeUnit)
Set a timeout for object.
|
RFuture<Boolean> |
expireAsync(Instant instant)
Set an expire date for object.
|
RFuture<Boolean> |
expireAsync(long timeToLive,
TimeUnit timeUnit)
Set a timeout for object in async mode.
|
protected RFuture<Boolean> |
expireAsync(long timeToLive,
TimeUnit timeUnit,
String... keys) |
boolean |
expireAt(Date timestamp)
Use
RExpirable.expire(Instant) instead |
boolean |
expireAt(long timestamp)
Use
RExpirable.expire(Instant) instead |
RFuture<Boolean> |
expireAtAsync(Date timestamp)
Use
RExpirableAsync.expireAsync(Instant) instead |
RFuture<Boolean> |
expireAtAsync(long timestamp)
Use
RExpirableAsync.expireAsync(Instant) instead |
protected RFuture<Boolean> |
expireAtAsync(long timestamp,
String... keys) |
RateLimiterConfig |
getConfig()
Returns current configuration of this RateLimiter object.
|
RFuture<RateLimiterConfig> |
getConfigAsync()
Returns current configuration of this RateLimiter object.
|
long |
remainTimeToLive()
Remaining time to live of Redisson object that has a timeout
|
RFuture<Long> |
remainTimeToLiveAsync()
Remaining time to live of Redisson object that has a timeout
|
void |
setRate(RateType type,
long rate,
long rateInterval,
RateIntervalUnit unit)
Updates RateLimiter's state and stores config to Redis server.
|
RFuture<Void> |
setRateAsync(RateType type,
long rate,
long rateInterval,
RateIntervalUnit unit)
Updates RateLimiter's state and stores config to Redis server.
|
boolean |
tryAcquire()
Acquires a permit only if one is available at the
time of invocation.
|
boolean |
tryAcquire(long permits)
Acquires the given number of
permits only if all are available at the
time of invocation. |
boolean |
tryAcquire(long permits,
long timeout,
TimeUnit unit)
Acquires the given number of
permits only if all are available
within the given waiting time. |
boolean |
tryAcquire(long timeout,
TimeUnit unit)
Acquires a permit from this RateLimiter, if one becomes available
within the given waiting time.
|
RFuture<Boolean> |
tryAcquireAsync()
Acquires a permit only if one is available at the
time of invocation.
|
RFuture<Boolean> |
tryAcquireAsync(long permits)
Acquires the given number of
permits only if all are available at the
time of invocation. |
RFuture<Boolean> |
tryAcquireAsync(long permits,
long timeout,
TimeUnit unit)
Acquires the given number of
permits only if all are available
within the given waiting time. |
RFuture<Boolean> |
tryAcquireAsync(long timeout,
TimeUnit unit)
Acquires a permit from this RateLimiter, if one becomes available
within the given waiting time.
|
boolean |
trySetRate(RateType type,
long rate,
long rateInterval,
RateIntervalUnit unit)
Initializes RateLimiter's state and stores config to Redis server.
|
RFuture<Boolean> |
trySetRateAsync(RateType type,
long rate,
long rateInterval,
RateIntervalUnit unit)
Initializes RateLimiter's state and stores config to Redis server.
|
addListener, addListener, addListenerAsync, addListenerAsync, copy, copyAsync, delete, deleteAsync, dump, dumpAsync, encode, encode, encode, encode, encodeMapKey, encodeMapKeys, encodeMapValue, encodeMapValues, get, getCodec, getIdleTime, getIdleTimeAsync, getLockByMapKey, getLockByValue, getName, getRawName, getRawName, isExists, isExistsAsync, migrate, migrateAsync, move, moveAsync, prefixName, removeListener, removeListenerAsync, removeListenersAsync, rename, renameAsync, renamenx, renamenxAsync, restore, restore, restoreAndReplace, restoreAndReplace, restoreAndReplaceAsync, restoreAndReplaceAsync, restoreAsync, restoreAsync, setName, sizeInMemory, sizeInMemoryAsync, sizeInMemoryAsync, sizeInMemoryAsync, suffixName, toSeconds, toStream, touch, touchAsync, unlink, unlinkAsyncclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitclearExpire, expire, expire, expireAt, expireAt, remainTimeToLiveaddListener, copy, delete, dump, getCodec, getIdleTime, getName, isExists, migrate, move, removeListener, rename, renamenx, restore, restore, restoreAndReplace, restoreAndReplace, sizeInMemory, touch, unlinkexpireAsync, expireAtAsync, remainTimeToLiveAsyncaddListenerAsync, copyAsync, dumpAsync, getIdleTimeAsync, isExistsAsync, migrateAsync, moveAsync, removeListenerAsync, renameAsync, renamenxAsync, restoreAndReplaceAsync, restoreAndReplaceAsync, restoreAsync, restoreAsync, sizeInMemoryAsync, touchAsync, unlinkAsyncpublic RedissonRateLimiter(CommandAsyncExecutor commandExecutor, String name)
public boolean tryAcquire()
RRateLimiterAcquires a permit, if one is available and returns immediately,
with the value true,
reducing the number of available permits by one.
If no permit is available then this method will return
immediately with the value false.
tryAcquire in interface RRateLimitertrue if a permit was acquired and false
otherwisepublic RFuture<Boolean> tryAcquireAsync()
RRateLimiterAsyncAcquires a permit, if one is available and returns immediately,
with the value true,
reducing the number of available permits by one.
If no permit is available then this method will return
immediately with the value false.
tryAcquireAsync in interface RRateLimiterAsynctrue if a permit was acquired and false
otherwisepublic boolean tryAcquire(long permits)
RRateLimiterpermits only if all are available at the
time of invocation.
Acquires a permits, if all are available and returns immediately,
with the value true,
reducing the number of available permits by given number of permits.
If no permits are available then this method will return
immediately with the value false.
tryAcquire in interface RRateLimiterpermits - the number of permits to acquiretrue if a permit was acquired and false
otherwisepublic RFuture<Boolean> tryAcquireAsync(long permits)
RRateLimiterAsyncpermits only if all are available at the
time of invocation.
Acquires a permits, if all are available and returns immediately,
with the value true,
reducing the number of available permits by given number of permits.
If no permits are available then this method will return
immediately with the value false.
tryAcquireAsync in interface RRateLimiterAsyncpermits - the number of permits to acquiretrue if a permit was acquired and false
otherwisepublic void acquire()
RRateLimiterAcquires a permit, if one is available and returns immediately, reducing the number of available permits by one.
acquire in interface RRateLimiterpublic RFuture<Void> acquireAsync()
RRateLimiterAsyncAcquires a permit, if one is available and returns immediately, reducing the number of available permits by one.
acquireAsync in interface RRateLimiterAsyncpublic void acquire(long permits)
RRateLimiterpermits from this RateLimiter,
blocking until one is available.
Acquires the given number of permits, if they are available and returns immediately, reducing the number of available permits by the given amount.
acquire in interface RRateLimiterpermits - the number of permits to acquirepublic RFuture<Void> acquireAsync(long permits)
RRateLimiterAsyncpermits from this RateLimiter,
blocking until one is available.
Acquires the given number of permits, if they are available and returns immediately, reducing the number of available permits by the given amount.
acquireAsync in interface RRateLimiterAsyncpermits - the number of permits to acquirepublic boolean tryAcquire(long timeout,
TimeUnit unit)
RRateLimiterAcquires a permit, if one is available and returns immediately,
with the value true,
reducing the number of available permits by one.
If no permit is available then the current thread becomes disabled for thread scheduling purposes and lies dormant until specified waiting time elapses.
If a permit is acquired then the value true is returned.
If the specified waiting time elapses then the value false
is returned. If the time is less than or equal to zero, the method
will not wait at all.
tryAcquire in interface RRateLimitertimeout - the maximum time to wait for a permitunit - the time unit of the timeout argumenttrue if a permit was acquired and false
if the waiting time elapsed before a permit was acquiredpublic RFuture<Boolean> tryAcquireAsync(long timeout, TimeUnit unit)
RRateLimiterAsyncAcquires a permit, if one is available and returns immediately,
with the value true,
reducing the number of available permits by one.
If no permit is available then the current thread becomes disabled for thread scheduling purposes and lies dormant until specified waiting time elapses.
If a permit is acquired then the value true is returned.
If the specified waiting time elapses then the value false
is returned. If the time is less than or equal to zero, the method
will not wait at all.
tryAcquireAsync in interface RRateLimiterAsynctimeout - the maximum time to wait for a permitunit - the time unit of the timeout argumenttrue if a permit was acquired and false
if the waiting time elapsed before a permit was acquiredpublic boolean tryAcquire(long permits,
long timeout,
TimeUnit unit)
RRateLimiterpermits only if all are available
within the given waiting time.
Acquires the given number of permits, if all are available and returns immediately,
with the value true, reducing the number of available permits by one.
If no permit is available then the current thread becomes disabled for thread scheduling purposes and lies dormant until the specified waiting time elapses.
If a permits is acquired then the value true is returned.
If the specified waiting time elapses then the value false
is returned. If the time is less than or equal to zero, the method
will not wait at all.
tryAcquire in interface RRateLimiterpermits - amounttimeout - the maximum time to wait for a permitunit - the time unit of the timeout argumenttrue if a permit was acquired and false
if the waiting time elapsed before a permit was acquiredpublic RFuture<Boolean> tryAcquireAsync(long permits, long timeout, TimeUnit unit)
RRateLimiterAsyncpermits only if all are available
within the given waiting time.
Acquires the given number of permits, if all are available and returns immediately,
with the value true, reducing the number of available permits by one.
If no permit is available then the current thread becomes disabled for thread scheduling purposes and lies dormant until the specified waiting time elapses.
If a permits is acquired then the value true is returned.
If the specified waiting time elapses then the value false
is returned. If the time is less than or equal to zero, the method
will not wait at all.
tryAcquireAsync in interface RRateLimiterAsyncpermits - amounttimeout - the maximum time to wait for a permitunit - the time unit of the timeout argumenttrue if a permit was acquired and false
if the waiting time elapsed before a permit was acquiredpublic boolean trySetRate(RateType type, long rate, long rateInterval, RateIntervalUnit unit)
RRateLimitertrySetRate in interface RRateLimitertype - - rate moderate - - raterateInterval - - rate time intervalunit - - rate time interval unittrue if rate was set and false
otherwisepublic RFuture<Boolean> trySetRateAsync(RateType type, long rate, long rateInterval, RateIntervalUnit unit)
RRateLimiterAsynctrySetRateAsync in interface RRateLimiterAsynctype - - rate moderate - - raterateInterval - - rate time intervalunit - - rate time interval unittrue if rate was set and false
otherwisepublic void setRate(RateType type, long rate, long rateInterval, RateIntervalUnit unit)
RRateLimitersetRate in interface RRateLimitertype - - rate moderate - - raterateInterval - - rate time intervalunit - - rate time interval unitpublic RFuture<Void> setRateAsync(RateType type, long rate, long rateInterval, RateIntervalUnit unit)
RRateLimiterAsyncsetRateAsync in interface RRateLimiterAsynctype - - rate moderate - - raterateInterval - - rate time intervalunit - - rate time interval unittrue if rate was set and false
otherwisepublic RateLimiterConfig getConfig()
RRateLimitergetConfig in interface RRateLimiterpublic RFuture<RateLimiterConfig> getConfigAsync()
RRateLimiterAsyncgetConfigAsync in interface RRateLimiterAsyncpublic long availablePermits()
RRateLimiteravailablePermits in interface RRateLimiterpublic RFuture<Long> availablePermitsAsync()
RRateLimiterAsyncavailablePermitsAsync in interface RRateLimiterAsyncpublic RFuture<Boolean> expireAsync(long timeToLive, TimeUnit timeUnit)
RExpirableAsyncexpireAsync in interface RExpirableAsynctimeToLive - - timeout before object will be deletedtimeUnit - - timeout time unittrue if the timeout was set and false if notpublic RFuture<Boolean> expireAtAsync(long timestamp)
RExpirableAsyncRExpirableAsync.expireAsync(Instant) insteadexpireAtAsync in interface RExpirableAsynctimestamp - - expire date in milliseconds (Unix timestamp)true if the timeout was set and false if notpublic RFuture<Boolean> clearExpireAsync()
RExpirableAsyncclearExpireAsync in interface RExpirableAsynctrue if the timeout was cleared and false if notpublic RFuture<Boolean> deleteAsync()
RObjectAsyncdeleteAsync in interface RObjectAsyncdeleteAsync in class RedissonObjecttrue if object was deleted false if notpublic boolean expire(long timeToLive,
TimeUnit timeUnit)
RExpirableexpire in interface RExpirabletimeToLive - - timeout before object will be deletedtimeUnit - - timeout time unittrue if the timeout was set and false if notpublic boolean expireAt(long timestamp)
RExpirableRExpirable.expire(Instant) insteadexpireAt in interface RExpirabletimestamp - - expire date in milliseconds (Unix timestamp)true if the timeout was set and false if notpublic boolean expire(Instant instant)
RExpirableexpire in interface RExpirableinstant - - expire datetrue if the timeout was set and false if notpublic RFuture<Boolean> expireAsync(Instant instant)
RExpirableAsyncexpireAsync in interface RExpirableAsyncinstant - - expire datetrue if the timeout was set and false if notpublic boolean expireAt(Date timestamp)
RExpirableRExpirable.expire(Instant) insteadexpireAt in interface RExpirabletimestamp - - expire datetrue if the timeout was set and false if notpublic RFuture<Boolean> expireAtAsync(Date timestamp)
RExpirableAsyncRExpirableAsync.expireAsync(Instant) insteadexpireAtAsync in interface RExpirableAsynctimestamp - - expire datetrue if the timeout was set and false if notpublic boolean clearExpire()
RExpirableclearExpire in interface RExpirabletrue if timeout was removed
false if object does not exist or does not have an associated timeoutpublic long remainTimeToLive()
RExpirableremainTimeToLive in interface RExpirablepublic RFuture<Long> remainTimeToLiveAsync()
RExpirableAsyncremainTimeToLiveAsync in interface RExpirableAsyncprotected RFuture<Boolean> expireAsync(long timeToLive, TimeUnit timeUnit, String... keys)
Copyright © 2014–2021 Redisson. All rights reserved.