Package org.redisson.api
Interface RJsonBucketReactive<V>
- Type Parameters:
V
- the type of object
- All Superinterfaces:
RBucketReactive<V>
,RExpirableReactive
,RObjectReactive
Redis JSON datatype holder. Data is stored as JSON object in Redis
- Author:
- Nikita Koksharov
-
Method Summary
Modifier and TypeMethodDescriptionreactor.core.publisher.Mono<Long>
arrayAppend
(String path, Object... values) Appends values to array specified by JSONPath.arrayAppendMulti
(String path, Object... values) Appends values to arrays specified by JSONPath.reactor.core.publisher.Mono<Long>
arrayIndex
(String path, Object value) Returns index of object in array specified by JSONPathreactor.core.publisher.Mono<Long>
arrayIndex
(String path, Object value, reactor.core.publisher.Mono<Long> start, reactor.core.publisher.Mono<Long> end) Returns index of object in array specified by JSONPath in range betweenstart
(inclusive) andend
(exclusive) indexesarrayIndexMulti
(String path, Object value) Returns index of object in arrays specified by JSONPatharrayIndexMulti
(String path, Object value, reactor.core.publisher.Mono<Long> start, reactor.core.publisher.Mono<Long> end) Returns index of object in arrays specified by JSONPath in range betweenstart
(inclusive) andend
(exclusive) indexesreactor.core.publisher.Mono<Long>
arrayInsert
(String path, reactor.core.publisher.Mono<Long> index, Object... values) Inserts values into array specified by JSONPath.arrayInsertMulti
(String path, reactor.core.publisher.Mono<Long> index, Object... values) Inserts values into arrays specified by JSONPath.<T> reactor.core.publisher.Mono<T>
arrayPollFirst
(JsonCodec<T> codec, String path) Polls first element of array specified by JSONPath.<T> reactor.core.publisher.Mono<List<T>>
arrayPollFirstMulti
(JsonCodec<T> codec, String path) Polls first element of arrays specified by JSONPath.<T> reactor.core.publisher.Mono<T>
arrayPollLast
(JsonCodec<T> codec, String path) Polls last element of array specified by JSONPath.<T> reactor.core.publisher.Mono<List<T>>
arrayPollLastMulti
(JsonCodec<T> codec, String path) Polls last element of arrays specified by JSONPath.<T> reactor.core.publisher.Mono<T>
Pops element located at index of array specified by JSONPath.<T> reactor.core.publisher.Mono<List<T>>
arrayPopMulti
(JsonCodec<T> codec, String path, reactor.core.publisher.Mono<Long> index) Pops elements located at index of arrays specified by JSONPath.reactor.core.publisher.Mono<Long>
Returns size of array specified by JSONPath.arraySizeMulti
(String path) Returns size of arrays specified by JSONPath.reactor.core.publisher.Mono<Long>
arrayTrim
(String path, reactor.core.publisher.Mono<Long> start, reactor.core.publisher.Mono<Long> end) Trims array specified by JSONPath in range betweenstart
(inclusive) andend
(inclusive) indexes.arrayTrimMulti
(String path, reactor.core.publisher.Mono<Long> start, reactor.core.publisher.Mono<Long> end) Trims arrays specified by JSONPath in range betweenstart
(inclusive) andend
(inclusive) indexes.reactor.core.publisher.Mono<Long>
clear()
Clears json container.reactor.core.publisher.Mono<Long>
Clears json container specified by JSONPath.reactor.core.publisher.Mono<Boolean>
compareAndSet
(String path, Object expect, Object update) Atomically sets the value to the given updated value by given JSONPath, only if serialized state of the current value equals to serialized state of the expected value.reactor.core.publisher.Mono<Long>
Returns keys amount in JSON containerreactor.core.publisher.Mono<Long>
Returns keys amount in JSON container specified by JSONPathcountKeysMulti
(String path) Returns list of keys amount in JSON containers specified by JSONPathreactor.core.publisher.Mono<Long>
Deletes JSON elements specified by JSONPath<T> reactor.core.publisher.Mono<T>
Get Json object/objects by JSONPath<T> reactor.core.publisher.Mono<T>
Retrieves current value of element specified by JSONPath and replaces it withnewValue
.getKeys()
Returns list of keys in JSON containerReturns list of keys in JSON container specified by JSONPathgetKeysMulti
(String path) Returns list of keys in JSON containers specified by JSONPathreactor.core.publisher.Mono<JsonType>
getType()
Returns type of elementreactor.core.publisher.Mono<JsonType>
Returns type of element specified by JSONPath<T extends Number>
reactor.core.publisher.Mono<T>incrementAndGet
(String path, reactor.core.publisher.Mono<T> delta) Increments the current value specified by JSONPath bydelta
.incrementAndGetMulti
(String path, reactor.core.publisher.Mono<T> delta) Increments the current values specified by JSONPath bydelta
.reactor.core.publisher.Mono<Void>
Stores object into element by specified JSONPath.reactor.core.publisher.Mono<Boolean>
setIfAbsent
(String path, Object value) Sets Json object by JSONPath only if previous value is emptyreactor.core.publisher.Mono<Boolean>
setIfExists
(String path, Object value) Sets Json object by JSONPath only if previous value is non-emptyreactor.core.publisher.Mono<Long>
stringAppend
(String path, Object value) Appends string data to element specified by JSONPath.stringAppendMulti
(String path, Object value) Appends string data to elements specified by JSONPath.reactor.core.publisher.Mono<Long>
stringSize
(String path) Returns size of string data by JSONPathstringSizeMulti
(String path) Returns list of string data size by JSONPath.reactor.core.publisher.Mono<Boolean>
Toggle Monovalue specified by JSONPath toggleMulti
(String path) Toggle Monovalues specified by JSONPath reactor.core.publisher.Mono<Boolean>
Deprecated.Methods inherited from interface org.redisson.api.RBucketReactive
compareAndSet, get, getAndClearExpire, getAndDelete, getAndExpire, getAndExpire, getAndSet, getAndSet, getAndSet, set, set, set, setAndKeepTTL, setIfAbsent, setIfAbsent, setIfExists, setIfExists, setIfExists, size, trySet, trySet
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
-
get
Get Json object/objects by JSONPath- Type Parameters:
T
- the type of object- Parameters:
codec
- object codecpaths
- JSON paths- Returns:
- object
-
setIfAbsent
Sets Json object by JSONPath only if previous value is empty- Parameters:
path
- JSON pathvalue
- object- Returns:
true
if successful, orfalse
if value was already set
-
trySet
Deprecated.UsesetIfAbsent(String, Object)
instead- Parameters:
path
- JSON pathvalue
- object- Returns:
true
if successful, orfalse
if value was already set
-
setIfExists
Sets Json object by JSONPath only if previous value is non-empty- Parameters:
path
- JSON pathvalue
- object- Returns:
true
if successful, orfalse
if element wasn't set
-
compareAndSet
Atomically sets the value to the given updated value by given JSONPath, only if serialized state of the current value equals to serialized state of the expected value.- Parameters:
path
- JSON pathexpect
- 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 value of element specified by JSONPath and replaces it withnewValue
.- Parameters:
codec
- object codecpath
- JSON pathnewValue
- value to set- Returns:
- previous value
-
set
Stores object into element by specified JSONPath.- Parameters:
path
- JSON pathvalue
- value to set- Returns:
- void
-
stringSize
Returns size of string data by JSONPath- Parameters:
path
- JSON path- Returns:
- size of string
-
stringSizeMulti
Returns list of string data size by JSONPath. Compatible only with enhanced syntax starting with '$' character.- Parameters:
path
- JSON path- Returns:
- list of string data sizes
-
stringAppend
Appends string data to element specified by JSONPath. Returns new size of string data.- Parameters:
path
- JSON pathvalue
- data- Returns:
- size of string data
-
stringAppendMulti
Appends string data to elements specified by JSONPath. Returns new size of string data. Compatible only with enhanced syntax starting with '$' character.- Parameters:
path
- JSON pathvalue
- data- Returns:
- list of string data sizes
-
arrayAppend
Appends values to array specified by JSONPath. Returns new size of array.- Parameters:
path
- JSON pathvalues
- values to append- Returns:
- size of array
-
arrayAppendMulti
Appends values to arrays specified by JSONPath. Returns new size of arrays. Compatible only with enhanced syntax starting with '$' character.- Parameters:
path
- JSON pathvalues
- values to append- Returns:
- list of arrays size
-
arrayIndex
Returns index of object in array specified by JSONPath. -1 means object not found.- Parameters:
path
- JSON pathvalue
- value to search- Returns:
- index in array
-
arrayIndexMulti
Returns index of object in arrays specified by JSONPath. -1 means object not found. Compatible only with enhanced syntax starting with '$' character.- Parameters:
path
- JSON pathvalue
- value to search- Returns:
- list of index in arrays
-
arrayIndex
reactor.core.publisher.Mono<Long> arrayIndex(String path, Object value, reactor.core.publisher.Mono<Long> start, reactor.core.publisher.Mono<Long> end) Returns index of object in array specified by JSONPath in range betweenstart
(inclusive) andend
(exclusive) indexes. -1 means object not found.- Parameters:
path
- JSON pathvalue
- value to searchstart
- start index, inclusiveend
- end index, exclusive- Returns:
- index in array
-
arrayIndexMulti
reactor.core.publisher.Mono<List<Long>> arrayIndexMulti(String path, Object value, reactor.core.publisher.Mono<Long> start, reactor.core.publisher.Mono<Long> end) Returns index of object in arrays specified by JSONPath in range betweenstart
(inclusive) andend
(exclusive) indexes. -1 means object not found. Compatible only with enhanced syntax starting with '$' character.- Parameters:
path
- JSON pathvalue
- value to searchstart
- start index, inclusiveend
- end index, exclusive- Returns:
- list of index in arrays
-
arrayInsert
reactor.core.publisher.Mono<Long> arrayInsert(String path, reactor.core.publisher.Mono<Long> index, Object... values) Inserts values into array specified by JSONPath. Values are inserted at definedindex
.- Parameters:
path
- JSON pathindex
- array index at which values are insertedvalues
- values to insert- Returns:
- size of array
-
arrayInsertMulti
reactor.core.publisher.Mono<List<Long>> arrayInsertMulti(String path, reactor.core.publisher.Mono<Long> index, Object... values) Inserts values into arrays specified by JSONPath. Values are inserted at definedindex
. Compatible only with enhanced syntax starting with '$' character.- Parameters:
path
- JSON pathindex
- array index at which values are insertedvalues
- values to insert- Returns:
- list of arrays size
-
arraySize
Returns size of array specified by JSONPath.- Parameters:
path
- JSON path- Returns:
- size of array
-
arraySizeMulti
Returns size of arrays specified by JSONPath. Compatible only with enhanced syntax starting with '$' character.- Parameters:
path
- JSON path- Returns:
- list of arrays size
-
arrayPollLast
Polls last element of array specified by JSONPath.- Type Parameters:
T
- the type of object- Parameters:
codec
- object codecpath
- JSON path- Returns:
- last element
-
arrayPollLastMulti
Polls last element of arrays specified by JSONPath. Compatible only with enhanced syntax starting with '$' character.- Type Parameters:
T
- the type of object- Parameters:
codec
- object codecpath
- JSON path- Returns:
- list of last elements
-
arrayPollFirst
Polls first element of array specified by JSONPath.- Type Parameters:
T
- the type of object- Parameters:
codec
- object codecpath
- JSON path- Returns:
- first element
-
arrayPollFirstMulti
Polls first element of arrays specified by JSONPath. Compatible only with enhanced syntax starting with '$' character.- Type Parameters:
T
- the type of object- Parameters:
codec
- object codecpath
- JSON path- Returns:
- list of first elements
-
arrayPop
<T> reactor.core.publisher.Mono<T> arrayPop(JsonCodec<T> codec, String path, reactor.core.publisher.Mono<Long> index) Pops element located at index of array specified by JSONPath.- Type Parameters:
T
- the type of object- Parameters:
codec
- object codecpath
- JSON pathindex
- array index- Returns:
- element
-
arrayPopMulti
<T> reactor.core.publisher.Mono<List<T>> arrayPopMulti(JsonCodec<T> codec, String path, reactor.core.publisher.Mono<Long> index) Pops elements located at index of arrays specified by JSONPath. Compatible only with enhanced syntax starting with '$' character.- Type Parameters:
T
- the type of object- Parameters:
codec
- object codecpath
- JSON pathindex
- array index- Returns:
- list of elements
-
arrayTrim
reactor.core.publisher.Mono<Long> arrayTrim(String path, reactor.core.publisher.Mono<Long> start, reactor.core.publisher.Mono<Long> end) Trims array specified by JSONPath in range betweenstart
(inclusive) andend
(inclusive) indexes.- Parameters:
path
- JSON pathstart
- start index, inclusiveend
- end index, inclusive- Returns:
- length of array
-
arrayTrimMulti
reactor.core.publisher.Mono<List<Long>> arrayTrimMulti(String path, reactor.core.publisher.Mono<Long> start, reactor.core.publisher.Mono<Long> end) Trims arrays specified by JSONPath in range betweenstart
(inclusive) andend
(inclusive) indexes. Compatible only with enhanced syntax starting with '$' character.- Parameters:
path
- JSON pathstart
- start index, inclusiveend
- end index, inclusive- Returns:
- length of array
-
clear
reactor.core.publisher.Mono<Long> clear()Clears json container.- Returns:
- number of cleared containers
-
clear
Clears json container specified by JSONPath. Compatible only with enhanced syntax starting with '$' character.- Parameters:
path
- JSON path- Returns:
- number of cleared containers
-
incrementAndGet
<T extends Number> reactor.core.publisher.Mono<T> incrementAndGet(String path, reactor.core.publisher.Mono<T> delta) Increments the current value specified by JSONPath bydelta
.- Parameters:
path
- JSON pathdelta
- increment value- Returns:
- the updated value
-
incrementAndGetMulti
<T extends Number> reactor.core.publisher.Mono<List<T>> incrementAndGetMulti(String path, reactor.core.publisher.Mono<T> delta) Increments the current values specified by JSONPath bydelta
. Compatible only with enhanced syntax starting with '$' character.- Parameters:
path
- JSON pathdelta
- increment value- Returns:
- list of updated value
-
countKeys
reactor.core.publisher.Mono<Long> countKeys()Returns keys amount in JSON container- Returns:
- keys amount
-
countKeys
Returns keys amount in JSON container specified by JSONPath- Parameters:
path
- JSON path- Returns:
- keys amount
-
countKeysMulti
Returns list of keys amount in JSON containers specified by JSONPath- Parameters:
path
- JSON path- Returns:
- list of keys amount
-
getKeys
Returns list of keys in JSON container- Returns:
- list of keys
-
getKeys
Returns list of keys in JSON container specified by JSONPath- Parameters:
path
- JSON path- Returns:
- list of keys
-
getKeysMulti
Returns list of keys in JSON containers specified by JSONPath- Parameters:
path
- JSON path- Returns:
- list of keys
-
toggle
Toggle Monovalue specified by JSONPath - Parameters:
path
- JSON path- Returns:
- new Mono
value
-
toggleMulti
Toggle Monovalues specified by JSONPath - Parameters:
path
- JSON path- Returns:
- list of Mono
values
-
getType
reactor.core.publisher.Mono<JsonType> getType()Returns type of element- Returns:
- type of element
-
getType
Returns type of element specified by JSONPath- Parameters:
path
- JSON path- Returns:
- type of element
-
delete
Deletes JSON elements specified by JSONPath- Parameters:
path
- JSON path- Returns:
- number of deleted elements
-