Package org.redisson.api
Interface RBucketReactive<V>
- Type Parameters:
V
- - the type of object
- All Superinterfaces:
RExpirableReactive
,RObjectReactive
- All Known Subinterfaces:
RBinaryStreamReactive
,RJsonBucketReactive<V>
Reactive implementation of object holder. Max size of object is 512MB
- Author:
- Nikita Koksharov
-
Method Summary
Modifier and TypeMethodDescriptionreactor.core.publisher.Mono<Boolean>
compareAndSet
(V expect, V update) Atomically sets the value to the given updated value only if serialized state of the current value equals to serialized state of the expected value.reactor.core.publisher.Mono<V>
get()
Retrieves element stored in the holder.reactor.core.publisher.Mono<V>
Retrieves current element in the holder and clears expiration date set before.reactor.core.publisher.Mono<V>
Retrieves element in the holder and removes it.reactor.core.publisher.Mono<V>
getAndExpire
(Duration duration) Retrieves current element in the holder and sets an expiration duration for it.reactor.core.publisher.Mono<V>
getAndExpire
(Instant time) Retrieves current element in the holder and sets an expiration date for it.reactor.core.publisher.Mono<V>
Retrieves current element in the holder and replaces it withnewValue
.reactor.core.publisher.Mono<V>
Retrieves current element in the holder and replaces it withnewValue
with definedtimeToLive
interval.reactor.core.publisher.Mono<Void>
Stores element into the holder.reactor.core.publisher.Mono<Void>
Stores element into the holder with definedtimeToLive
interval.reactor.core.publisher.Mono<Void>
setAndKeepTTL
(V value) Set value and keep existing TTL.reactor.core.publisher.Mono<Boolean>
setIfExists
(V value) Sets value only if it's already exists.reactor.core.publisher.Mono<Boolean>
setIfExists
(V value, long timeToLive, TimeUnit timeUnit) Sets value only if it's already exists.reactor.core.publisher.Mono<Long>
size()
Returns size of object in bytesreactor.core.publisher.Mono<Boolean>
Tries to set element atomically into empty holder.reactor.core.publisher.Mono<Boolean>
Tries to set element atomically into empty holder with definedtimeToLive
interval.Methods inherited from interface org.redisson.api.RExpirableReactive
clearExpire, expire, expire, expire, expireAt, expireAt, expireIfGreater, expireIfGreater, expireIfLess, expireIfLess, expireIfNotSet, expireIfNotSet, expireIfSet, expireIfSet, getExpireTime, remainTimeToLive
Methods inherited from interface org.redisson.api.RObjectReactive
addListener, copy, delete, dump, getCodec, getIdleTime, getName, isExists, migrate, move, removeListener, rename, renamenx, restore, restore, restoreAndReplace, restoreAndReplace, sizeInMemory, touch, unlink
-
Method Details
-
size
reactor.core.publisher.Mono<Long> size()Returns size of object in bytes- Returns:
- object size
-
trySet
Tries to set element atomically into empty holder.- Parameters:
value
- - value to set- Returns:
true
if successful, orfalse
if element was already set
-
trySet
Tries to set element atomically into empty holder with definedtimeToLive
interval.- Parameters:
value
- - value to settimeToLive
- - time to live intervaltimeUnit
- - unit of time to live interval- Returns:
true
if successful, orfalse
if element was already set
-
setIfExists
Sets value only if it's already exists.- Parameters:
value
- - value to set- Returns:
true
if successful, orfalse
if element wasn't set
-
setIfExists
Sets value only if it's already exists.- Parameters:
value
- - value to settimeToLive
- - time to live intervaltimeUnit
- - unit of time to live interval- Returns:
true
if successful, orfalse
if element wasn't set
-
compareAndSet
Atomically sets the value to the given updated value only if serialized state of the current value equals to serialized state of the expected value.- Parameters:
expect
- the expected valueupdate
- the new value- Returns:
true
if successful; orfalse
if the actual value was not equal to the expected value.
-
getAndSet
Retrieves current element in the holder and replaces it withnewValue
.- Parameters:
newValue
- - value to set- Returns:
- previous value
-
getAndSet
Retrieves current element in the holder and replaces it withnewValue
with definedtimeToLive
interval.- Parameters:
value
- - value to settimeToLive
- - time to live intervaltimeUnit
- - unit of time to live interval- Returns:
- previous value
-
getAndExpire
Retrieves current element in the holder and sets an expiration duration for it.Requires Redis 6.2.0 and higher.
- Parameters:
duration
- of object time to live interval- Returns:
- element
-
getAndExpire
Retrieves current element in the holder and sets an expiration date for it.Requires Redis 6.2.0 and higher.
- Parameters:
time
- of exact object expiration moment- Returns:
- element
-
getAndClearExpire
reactor.core.publisher.Mono<V> getAndClearExpire()Retrieves current element in the holder and clears expiration date set before.Requires Redis 6.2.0 and higher.
- Returns:
- element
-
get
reactor.core.publisher.Mono<V> get()Retrieves element stored in the holder.- Returns:
- element
-
getAndDelete
reactor.core.publisher.Mono<V> getAndDelete()Retrieves element in the holder and removes it.- Returns:
- element
-
set
Stores element into the holder.- Parameters:
value
- - value to set- Returns:
- void
-
set
Stores element into the holder with definedtimeToLive
interval.- Parameters:
value
- - value to settimeToLive
- - time to live intervaltimeUnit
- - unit of time to live interval- Returns:
- void
-
setAndKeepTTL
Set value and keep existing TTL.Requires Redis 6.0.0 and higher.
- Parameters:
value
- - value to set- Returns:
- void
-