Interface RJsonStoreRx<K,V>

Type Parameters:
K - the type of key
V - the type of value
All Superinterfaces:
RExpirableRx, RObjectRx

public interface RJsonStoreRx<K,V> extends RExpirableRx
JSON Store which stores each entry as key and value. Both are POJO objects. Value is stored as JSON datatype in Redis.

The implementation is available in Redisson PRO only.

Author:
Nikita Koksharov
  • Method Summary

    Modifier and Type
    Method
    Description
    io.reactivex.rxjava3.core.Single<Integer>
    Adds object event listener
    io.reactivex.rxjava3.core.Single<Long>
    arrayAppend(K key, String path, Object... values)
    Appends values to array by specified key and JSONPath.
    io.reactivex.rxjava3.core.Single<List<Long>>
    arrayAppendMulti(K key, String path, Object... values)
    Appends values to arrays by specified key and JSONPath.
    io.reactivex.rxjava3.core.Single<Long>
    arrayIndex(K key, String path, Object value)
    Returns index of object in array by specified key and JSONPath
    io.reactivex.rxjava3.core.Single<Long>
    arrayIndex(K key, String path, Object value, Long start, Long end)
    Returns index of object in array by specified key and JSONPath in range between start (inclusive) and end (exclusive) indexes
    io.reactivex.rxjava3.core.Single<List<Long>>
    arrayIndexMulti(K key, String path, Object value)
    Returns index of object in arrays by specified key and JSONPath
    io.reactivex.rxjava3.core.Single<List<Long>>
    arrayIndexMulti(K key, String path, Object value, Long start, Long end)
    Returns index of object in arrays by specified key and JSONPath in range between start (inclusive) and end (exclusive) indexes
    io.reactivex.rxjava3.core.Single<Long>
    arrayInsert(K key, String path, Long index, Object... values)
    Inserts values into array by specified key and JSONPath.
    io.reactivex.rxjava3.core.Single<List<Long>>
    arrayInsertMulti(K key, String path, Long index, Object... values)
    Inserts values into arrays by specified key and JSONPath.
    <T> io.reactivex.rxjava3.core.Maybe<T>
    arrayPollFirst(K key, JsonCodec codec, String path)
    Polls first element of array by specified key and JSONPath.
    <T> io.reactivex.rxjava3.core.Single<List<T>>
    arrayPollFirstMulti(K key, JsonCodec codec, String path)
    Polls first element of arrays by specified key and JSONPath.
    <T> io.reactivex.rxjava3.core.Maybe<T>
    arrayPollLast(K key, JsonCodec codec, String path)
    Polls last element of array by specified key and JSONPath.
    <T> io.reactivex.rxjava3.core.Single<List<T>>
    arrayPollLastMulti(K key, JsonCodec codec, String path)
    Polls last element of arrays by specified key and JSONPath.
    <T> io.reactivex.rxjava3.core.Maybe<T>
    arrayPop(K key, JsonCodec codec, String path, Long index)
    Pops element located at index of array by specified key and JSONPath.
    <T> io.reactivex.rxjava3.core.Single<List<T>>
    arrayPopMulti(K key, JsonCodec codec, String path, Long index)
    Pops elements located at index of arrays by specified key and JSONPath.
    io.reactivex.rxjava3.core.Single<Long>
    arraySize(K key, String path)
    Returns size of array by specified key and JSONPath.
    io.reactivex.rxjava3.core.Single<List<Long>>
    arraySizeMulti(K key, String path)
    Returns size of arrays by specified key and JSONPath.
    io.reactivex.rxjava3.core.Single<Long>
    arrayTrim(K key, String path, Long start, Long end)
    Trims array by specified key and JSONPath in range between start (inclusive) and end (inclusive) indexes.
    io.reactivex.rxjava3.core.Single<List<Long>>
    arrayTrimMulti(K key, String path, Long start, Long end)
    Trims arrays by specified key and JSONPath in range between start (inclusive) and end (inclusive) indexes.
    io.reactivex.rxjava3.core.Single<Long>
    clear(String path, Set<K> keys)
    Clears json container by specified keys and JSONPath.
    io.reactivex.rxjava3.core.Single<Long>
    clear(Set<K> keys)
    Clears json containers by specified keys.
    io.reactivex.rxjava3.core.Single<Boolean>
    clear(K key)
    Clears value by specified key
    io.reactivex.rxjava3.core.Single<Boolean>
    compareAndSet(K key, String path, Object expect, Object update)
    Atomically sets the value to the given updated value by specified key and JSONPath, only if serialized state of the current value equals to serialized state of the expected value.
    io.reactivex.rxjava3.core.Single<Boolean>
    compareAndSet(K key, V expect, V update)
    Atomically sets the value to the given updated value by specified key only if serialized state of the current value equals to serialized state of the expected value.
    io.reactivex.rxjava3.core.Single<Boolean>
    Returns true if this map contains map entry mapped by specified key, otherwise false
    io.reactivex.rxjava3.core.Maybe<Long>
    countKeys(K key)
    Returns keys amount in JSON container by specified key
    io.reactivex.rxjava3.core.Maybe<Long>
    countKeys(K key, String path)
    Returns keys amount in JSON container specified by key and JSONPath
    io.reactivex.rxjava3.core.Single<List<Long>>
    countKeysMulti(K key, String path)
    Returns list of keys amount in JSON containers specified by key and JSONPath
    io.reactivex.rxjava3.core.Single<Long>
    delete(String path, Set<K> keys)
    Deletes JSON elements specified by keys and JSONPath
    io.reactivex.rxjava3.core.Single<Long>
    delete(Set<K> keys)
    Deletes entries by specified keys
    io.reactivex.rxjava3.core.Single<Boolean>
    delete(K key)
    Deletes entry by specified key
    io.reactivex.rxjava3.core.Single<Map<K,V>>
    get(String path, Set<K> keys)
    Retrieves values by specified keys and JSONPath.
    io.reactivex.rxjava3.core.Single<Map<K,V>>
    get(Set<K> keys)
    Retrieves values by specified keys.
    io.reactivex.rxjava3.core.Maybe<V>
    get(K key)
    Retrieves value by specified key.
    <T> io.reactivex.rxjava3.core.Maybe<T>
    get(K key, JsonCodec codec, String... paths)
    Gets value by specified key and JSONPath
    io.reactivex.rxjava3.core.Maybe<V>
    Retrieves current value by specified key and clears expiration date set before.
    io.reactivex.rxjava3.core.Maybe<V>
    Retrieves entry value by specified key and removes it.
    io.reactivex.rxjava3.core.Maybe<V>
    getAndExpire(K key, Duration duration)
    Retrieves current value by specified key and sets an expiration duration for it.
    io.reactivex.rxjava3.core.Maybe<V>
    getAndExpire(K key, Instant time)
    Retrieves current value by specified key and sets an expiration date for it.
    <T> io.reactivex.rxjava3.core.Maybe<T>
    getAndSet(K key, JsonCodec codec, String path, Object newValue)
    Retrieves current value stored by specified key and JSONPath then replaces it with new value.
    io.reactivex.rxjava3.core.Maybe<V>
    getAndSet(K key, V newValue)
    Retrieves current value by specified key and replaces it with new value.
    io.reactivex.rxjava3.core.Maybe<V>
    getAndSet(K key, V value, Duration duration)
    Retrieves current value by specified key and replaces it with value and defines expiration duration.
    Returns RCountDownLatch instance associated with key
    Returns RLock instance associated with key
    io.reactivex.rxjava3.core.Single<List<String>>
    getKeys(K key)
    Returns list of keys in JSON container by specified key
    io.reactivex.rxjava3.core.Single<List<String>>
    getKeys(K key, String path)
    Returns list of keys in JSON container by specified key and JSONPath
    io.reactivex.rxjava3.core.Single<List<List<String>>>
    getKeysMulti(K key, String path)
    Returns list of keys in JSON containers by specified key and JSONPath
    getLock(K key)
    Returns RLock instance associated with key
    Returns RPermitExpirableSemaphore instance associated with key
    Returns RReadWriteLock instance associated with key
    Returns RSemaphore instance associated with key
    io.reactivex.rxjava3.core.Single<JsonType>
    getType(K key)
    Returns type of value
    io.reactivex.rxjava3.core.Single<JsonType>
    getType(K key, String path)
    Returns type of element specified by key and JSONPath
    <T extends Number>
    io.reactivex.rxjava3.core.Maybe<T>
    incrementAndGet(K key, String path, T delta)
    Increments the current value specified by key and JSONPath.
    <T extends Number>
    List<T>
    incrementAndGetMulti(K key, String path, T delta)
    Increments the current values specified by key and JSONPath.
    io.reactivex.rxjava3.core.Completable
    merge(K key, String path, Object value)
    Merges value into element by the specified key and JSONPath.
    io.reactivex.rxjava3.core.Single<Set<K>>
    Read all keys at once
    io.reactivex.rxjava3.core.Single<Long>
    Remaining time to live of map entry associated with a key.
    io.reactivex.rxjava3.core.Completable
    set(String path, Map<K,V> entries)
    Stores values by specified keys and JSONPath.
    io.reactivex.rxjava3.core.Completable
    set(Map<K,V> entries)
    Stores values by specified keys.
    io.reactivex.rxjava3.core.Completable
    set(Map<K,V> entries, Duration duration)
    Stores values by specified keys with defined expiration duration.
    io.reactivex.rxjava3.core.Completable
    set(K key, String path, Object value)
    Stores value by specified key and JSONPath.
    io.reactivex.rxjava3.core.Completable
    set(K key, V value)
    Stores value by specified key.
    io.reactivex.rxjava3.core.Completable
    set(K key, V value, Duration duration)
    Stores value by specified key with defined expiration duration.
    io.reactivex.rxjava3.core.Completable
    setAndKeepTTL(K key, V value)
    Sets value by specified key and keep existing TTL.
    io.reactivex.rxjava3.core.Single<Boolean>
    setIfAbsent(K key, String path, Object value)
    Sets value by specified key and JSONPath only if previous value is empty.
    io.reactivex.rxjava3.core.Single<Boolean>
    setIfAbsent(K key, V value)
    Sets value only if entry doesn't exist.
    io.reactivex.rxjava3.core.Single<Boolean>
    setIfAbsent(K key, V value, Duration duration)
    Sets value with defined duration only if entry doesn't exist.
    io.reactivex.rxjava3.core.Single<Boolean>
    setIfExists(K key, String path, Object value)
    Sets value by specified key and JSONPath only if previous value is non-empty.
    io.reactivex.rxjava3.core.Single<Boolean>
    setIfExists(K key, V value)
    Sets value only if entry already exists.
    io.reactivex.rxjava3.core.Single<Boolean>
    setIfExists(K key, V value, Duration duration)
    Sets value with expiration duration only if entry already exists.
    io.reactivex.rxjava3.core.Single<Integer>
    Returns entries amount in store
    io.reactivex.rxjava3.core.Single<Long>
    Returns size of entry in bytes specified by key.
    io.reactivex.rxjava3.core.Single<Long>
    stringAppend(K key, String path, Object value)
    Appends string data to element specified by specified key and JSONPath.
    io.reactivex.rxjava3.core.Single<List<Long>>
    stringAppendMulti(K key, String path, Object value)
    Appends string data to elements specified by specified key and JSONPath.
    io.reactivex.rxjava3.core.Maybe<Long>
    stringSize(K key, String path)
    Returns size of string data by specified key and JSONPath
    io.reactivex.rxjava3.core.Single<List<Long>>
    stringSizeMulti(K key, String path)
    Returns list of string data size by specified key and JSONPath.
    io.reactivex.rxjava3.core.Single<Boolean>
    toggle(K key, String path)
    Toggle Single value by specified key and JSONPath
    io.reactivex.rxjava3.core.Single<List<Boolean>>
    toggleMulti(K key, String path)
    Toggle Single values by specified key and JSONPath
  • Method Details

    • get

      <T> io.reactivex.rxjava3.core.Maybe<T> get(K key, JsonCodec codec, String... paths)
      Gets value by specified key and JSONPath
      Type Parameters:
      T - the type of object
      Parameters:
      key - entry key
      codec - entry value codec
      paths - JSON paths
      Returns:
      entry value
    • setIfAbsent

      io.reactivex.rxjava3.core.Single<Boolean> setIfAbsent(K key, String path, Object value)
      Sets value by specified key and JSONPath only if previous value is empty.
      Parameters:
      key - entry key
      path - JSON path
      value - entry value
      Returns:
      true if successful, or false if value was already set
    • setIfExists

      io.reactivex.rxjava3.core.Single<Boolean> setIfExists(K key, String path, Object value)
      Sets value by specified key and JSONPath only if previous value is non-empty.
      Parameters:
      key - entry key
      path - JSON path
      value - object
      Returns:
      true if successful, or false if element wasn't set
    • compareAndSet

      io.reactivex.rxjava3.core.Single<Boolean> compareAndSet(K key, String path, Object expect, Object update)
      Atomically sets the value to the given updated value by specified key and JSONPath, only if serialized state of the current value equals to serialized state of the expected value.
      Parameters:
      key - entry key
      path - JSON path
      expect - the expected value
      update - the new value
      Returns:
      true if successful; or false if the actual value was not equal to the expected value.
    • getAndSet

      <T> io.reactivex.rxjava3.core.Maybe<T> getAndSet(K key, JsonCodec codec, String path, Object newValue)
      Retrieves current value stored by specified key and JSONPath then replaces it with new value.
      Parameters:
      key - entry key
      codec - entry value codec
      path - JSON path
      newValue - value to set
      Returns:
      previous value
    • set

      io.reactivex.rxjava3.core.Completable set(K key, String path, Object value)
      Stores value by specified key and JSONPath.
      Parameters:
      key - entry key
      path - JSON path
      value - value to set
    • stringSize

      io.reactivex.rxjava3.core.Maybe<Long> stringSize(K key, String path)
      Returns size of string data by specified key and JSONPath
      Parameters:
      key - entry key
      path - JSON path
      Returns:
      size of string
    • stringSizeMulti

      io.reactivex.rxjava3.core.Single<List<Long>> stringSizeMulti(K key, String path)
      Returns list of string data size by specified key and JSONPath. Compatible only with enhanced syntax starting with '$' character.
      Parameters:
      key - entry key
      path - JSON path
      Returns:
      list of string data sizes
    • stringAppend

      io.reactivex.rxjava3.core.Single<Long> stringAppend(K key, String path, Object value)
      Appends string data to element specified by specified key and JSONPath. Returns new size of string data.
      Parameters:
      key - entry key
      path - JSON path
      value - data
      Returns:
      size of string data
    • stringAppendMulti

      io.reactivex.rxjava3.core.Single<List<Long>> stringAppendMulti(K key, String path, Object value)
      Appends string data to elements specified by specified key and JSONPath. Returns new size of string data. Compatible only with enhanced syntax starting with '$' character.
      Parameters:
      key - entry key
      path - JSON path
      value - data
      Returns:
      list of string data sizes
    • arrayAppend

      io.reactivex.rxjava3.core.Single<Long> arrayAppend(K key, String path, Object... values)
      Appends values to array by specified key and JSONPath. Returns new size of array.
      Parameters:
      key - entry key
      path - JSON path
      values - values to append
      Returns:
      size of array
    • arrayAppendMulti

      io.reactivex.rxjava3.core.Single<List<Long>> arrayAppendMulti(K key, String path, Object... values)
      Appends values to arrays by specified key and JSONPath. Returns new size of arrays. Compatible only with enhanced syntax starting with '$' character.
      Parameters:
      key - entry key
      path - JSON path
      values - values to append
      Returns:
      list of arrays size
    • arrayIndex

      io.reactivex.rxjava3.core.Single<Long> arrayIndex(K key, String path, Object value)
      Returns index of object in array by specified key and JSONPath. -1 means object not found.
      Parameters:
      key - entry key
      path - JSON path
      value - value to search
      Returns:
      index in array
    • arrayIndexMulti

      io.reactivex.rxjava3.core.Single<List<Long>> arrayIndexMulti(K key, String path, Object value)
      Returns index of object in arrays by specified key and JSONPath. -1 means object not found. Compatible only with enhanced syntax starting with '$' character.
      Parameters:
      key - entry key
      path - JSON path
      value - value to search
      Returns:
      list of index in arrays
    • arrayIndex

      io.reactivex.rxjava3.core.Single<Long> arrayIndex(K key, String path, Object value, Long start, Long end)
      Returns index of object in array by specified key and JSONPath in range between start (inclusive) and end (exclusive) indexes. -1 means object not found.
      Parameters:
      key - entry key
      path - JSON path
      value - value to search
      start - start index, inclusive
      end - end index, exclusive
      Returns:
      index in array
    • arrayIndexMulti

      io.reactivex.rxjava3.core.Single<List<Long>> arrayIndexMulti(K key, String path, Object value, Long start, Long end)
      Returns index of object in arrays by specified key and JSONPath in range between start (inclusive) and end (exclusive) indexes. -1 means object not found. Compatible only with enhanced syntax starting with '$' character.
      Parameters:
      key - entry key
      path - JSON path
      value - value to search
      start - start index, inclusive
      end - end index, exclusive
      Returns:
      list of index in arrays
    • arrayInsert

      io.reactivex.rxjava3.core.Single<Long> arrayInsert(K key, String path, Long index, Object... values)
      Inserts values into array by specified key and JSONPath. Values are inserted at defined index.
      Parameters:
      key - entry key
      path - JSON path
      index - array index at which values are inserted
      values - values to insert
      Returns:
      size of array
    • arrayInsertMulti

      io.reactivex.rxjava3.core.Single<List<Long>> arrayInsertMulti(K key, String path, Long index, Object... values)
      Inserts values into arrays by specified key and JSONPath. Values are inserted at defined index. Compatible only with enhanced syntax starting with '$' character.
      Parameters:
      key - entry key
      path - JSON path
      index - array index at which values are inserted
      values - values to insert
      Returns:
      list of arrays size
    • arraySize

      io.reactivex.rxjava3.core.Single<Long> arraySize(K key, String path)
      Returns size of array by specified key and JSONPath.
      Parameters:
      key - entry key
      path - JSON path
      Returns:
      size of array
    • arraySizeMulti

      io.reactivex.rxjava3.core.Single<List<Long>> arraySizeMulti(K key, String path)
      Returns size of arrays by specified key and JSONPath. Compatible only with enhanced syntax starting with '$' character.
      Parameters:
      key - entry key
      path - JSON path
      Returns:
      list of arrays size
    • arrayPollLast

      <T> io.reactivex.rxjava3.core.Maybe<T> arrayPollLast(K key, JsonCodec codec, String path)
      Polls last element of array by specified key and JSONPath.
      Type Parameters:
      T - the type of object
      Parameters:
      key - entry key
      codec - object codec
      path - JSON path
      Returns:
      last element
    • arrayPollLastMulti

      <T> io.reactivex.rxjava3.core.Single<List<T>> arrayPollLastMulti(K key, JsonCodec codec, String path)
      Polls last element of arrays by specified key and JSONPath. Compatible only with enhanced syntax starting with '$' character.
      Type Parameters:
      T - the type of object
      Parameters:
      key - entry key
      codec - object codec
      path - JSON path
      Returns:
      list of last elements
    • arrayPollFirst

      <T> io.reactivex.rxjava3.core.Maybe<T> arrayPollFirst(K key, JsonCodec codec, String path)
      Polls first element of array by specified key and JSONPath.
      Type Parameters:
      T - the type of object
      Parameters:
      key - entry key
      codec - object codec
      path - JSON path
      Returns:
      first element
    • arrayPollFirstMulti

      <T> io.reactivex.rxjava3.core.Single<List<T>> arrayPollFirstMulti(K key, JsonCodec codec, String path)
      Polls first element of arrays by specified key and JSONPath. Compatible only with enhanced syntax starting with '$' character.
      Type Parameters:
      T - the type of object
      Parameters:
      key - entry key
      codec - object codec
      path - JSON path
      Returns:
      list of first elements
    • arrayPop

      <T> io.reactivex.rxjava3.core.Maybe<T> arrayPop(K key, JsonCodec codec, String path, Long index)
      Pops element located at index of array by specified key and JSONPath.
      Type Parameters:
      T - the type of object
      Parameters:
      key - entry key
      codec - object codec
      path - JSON path
      index - array index
      Returns:
      element
    • arrayPopMulti

      <T> io.reactivex.rxjava3.core.Single<List<T>> arrayPopMulti(K key, JsonCodec codec, String path, Long index)
      Pops elements located at index of arrays by specified key and JSONPath. Compatible only with enhanced syntax starting with '$' character.
      Type Parameters:
      T - the type of object
      Parameters:
      key - entry key
      codec - object codec
      path - JSON path
      index - array index
      Returns:
      list of elements
    • arrayTrim

      io.reactivex.rxjava3.core.Single<Long> arrayTrim(K key, String path, Long start, Long end)
      Trims array by specified key and JSONPath in range between start (inclusive) and end (inclusive) indexes.
      Parameters:
      key - entry key
      path - JSON path
      start - start index, inclusive
      end - end index, inclusive
      Returns:
      length of array
    • arrayTrimMulti

      io.reactivex.rxjava3.core.Single<List<Long>> arrayTrimMulti(K key, String path, Long start, Long end)
      Trims arrays by specified key and JSONPath in range between start (inclusive) and end (inclusive) indexes. Compatible only with enhanced syntax starting with '$' character.
      Parameters:
      key - entry key
      path - JSON path
      start - start index, inclusive
      end - end index, inclusive
      Returns:
      length of array
    • clear

      io.reactivex.rxjava3.core.Single<Boolean> clear(K key)
      Clears value by specified key
      Parameters:
      key - entry key
      Returns:
      true if successful, or false if entry doesn't exist
    • clear

      io.reactivex.rxjava3.core.Single<Long> clear(Set<K> keys)
      Clears json containers by specified keys.
      Parameters:
      keys - entry keys
      Returns:
      number of cleared containers
    • clear

      io.reactivex.rxjava3.core.Single<Long> clear(String path, Set<K> keys)
      Clears json container by specified keys and JSONPath. Compatible only with enhanced syntax starting with '$' character.
      Parameters:
      path - JSON path
      keys - entry keys
      Returns:
      number of cleared containers
    • incrementAndGet

      <T extends Number> io.reactivex.rxjava3.core.Maybe<T> incrementAndGet(K key, String path, T delta)
      Increments the current value specified by key and JSONPath.
      Parameters:
      key - entry key
      path - JSON path
      delta - increment value
      Returns:
      the updated value
    • incrementAndGetMulti

      <T extends Number> List<T> incrementAndGetMulti(K key, String path, T delta)
      Increments the current values specified by key and JSONPath. Compatible only with enhanced syntax starting with '$' character.
      Parameters:
      key - entry key
      path - JSON path
      delta - increment value
      Returns:
      list of updated value
    • merge

      io.reactivex.rxjava3.core.Completable merge(K key, String path, Object value)
      Merges value into element by the specified key and JSONPath.
      Parameters:
      key - entry key
      path - JSON path
      value - value to merge
    • countKeys

      io.reactivex.rxjava3.core.Maybe<Long> countKeys(K key)
      Returns keys amount in JSON container by specified key
      Parameters:
      key - entry key
      Returns:
      keys amount
    • countKeys

      io.reactivex.rxjava3.core.Maybe<Long> countKeys(K key, String path)
      Returns keys amount in JSON container specified by key and JSONPath
      Parameters:
      key - entry key
      path - JSON path
      Returns:
      keys amount
    • countKeysMulti

      io.reactivex.rxjava3.core.Single<List<Long>> countKeysMulti(K key, String path)
      Returns list of keys amount in JSON containers specified by key and JSONPath
      Parameters:
      key - entry key
      path - JSON path
      Returns:
      list of keys amount
    • getKeys

      io.reactivex.rxjava3.core.Single<List<String>> getKeys(K key)
      Returns list of keys in JSON container by specified key
      Returns:
      list of keys
    • getKeys

      io.reactivex.rxjava3.core.Single<List<String>> getKeys(K key, String path)
      Returns list of keys in JSON container by specified key and JSONPath
      Parameters:
      path - JSON path
      Returns:
      list of keys
    • getKeysMulti

      io.reactivex.rxjava3.core.Single<List<List<String>>> getKeysMulti(K key, String path)
      Returns list of keys in JSON containers by specified key and JSONPath
      Parameters:
      path - JSON path
      Returns:
      list of keys
    • toggle

      io.reactivex.rxjava3.core.Single<Boolean> toggle(K key, String path)
      Toggle Single value by specified key and JSONPath
      Parameters:
      path - JSON path
      Returns:
      new Single value
    • toggleMulti

      io.reactivex.rxjava3.core.Single<List<Boolean>> toggleMulti(K key, String path)
      Toggle Single values by specified key and JSONPath
      Parameters:
      path - JSON path
      Returns:
      list of Single values
    • getType

      io.reactivex.rxjava3.core.Single<JsonType> getType(K key)
      Returns type of value
      Returns:
      type of element
    • getType

      io.reactivex.rxjava3.core.Single<JsonType> getType(K key, String path)
      Returns type of element specified by key and JSONPath
      Parameters:
      path - JSON path
      Returns:
      type of element
    • delete

      io.reactivex.rxjava3.core.Single<Boolean> delete(K key)
      Deletes entry by specified key
      Parameters:
      key - entry key
      Returns:
      true if successful, or false if entry doesn't exist
    • delete

      io.reactivex.rxjava3.core.Single<Long> delete(Set<K> keys)
      Deletes entries by specified keys
      Parameters:
      keys - entry keys
      Returns:
      number of deleted elements
    • delete

      io.reactivex.rxjava3.core.Single<Long> delete(String path, Set<K> keys)
      Deletes JSON elements specified by keys and JSONPath
      Parameters:
      path - JSON path
      keys - entry keys
      Returns:
      number of deleted elements
    • sizeInMemory

      io.reactivex.rxjava3.core.Single<Long> sizeInMemory(K key)
      Returns size of entry in bytes specified by key.
      Parameters:
      key - entry key
      Returns:
      entry size
    • get

      io.reactivex.rxjava3.core.Maybe<V> get(K key)
      Retrieves value by specified key.
      Parameters:
      key - entry key
      Returns:
      element
    • get

      io.reactivex.rxjava3.core.Single<Map<K,V>> get(Set<K> keys)
      Retrieves values by specified keys.
      Parameters:
      keys - entry keys
      Returns:
      map with entries where value mapped by key
    • get

      io.reactivex.rxjava3.core.Single<Map<K,V>> get(String path, Set<K> keys)
      Retrieves values by specified keys and JSONPath.
      Parameters:
      path - JSON path
      keys - entry keys
      Returns:
      map with entries where value mapped by key
    • getAndDelete

      io.reactivex.rxjava3.core.Maybe<V> getAndDelete(K key)
      Retrieves entry value by specified key and removes it.
      Parameters:
      key - entry key
      Returns:
      element
    • setIfAbsent

      io.reactivex.rxjava3.core.Single<Boolean> setIfAbsent(K key, V value)
      Sets value only if entry doesn't exist.
      Parameters:
      key - entry key
      value - value to set
      Returns:
      true if successful, or false if element was already set
    • setIfAbsent

      io.reactivex.rxjava3.core.Single<Boolean> setIfAbsent(K key, V value, Duration duration)
      Sets value with defined duration only if entry doesn't exist.
      Parameters:
      key - entry key
      value - value to set
      duration - expiration duration
      Returns:
      true if successful, or false if element was already set
    • setIfExists

      io.reactivex.rxjava3.core.Single<Boolean> setIfExists(K key, V value)
      Sets value only if entry already exists.
      Parameters:
      key - entry key
      value - value to set
      Returns:
      true if successful, or false if element wasn't set
    • setIfExists

      io.reactivex.rxjava3.core.Single<Boolean> setIfExists(K key, V value, Duration duration)
      Sets value with expiration duration only if entry already exists.
      Parameters:
      key - entry key
      value - value to set
      duration - expiration duration
      Returns:
      true if successful, or false if element wasn't set
    • compareAndSet

      io.reactivex.rxjava3.core.Single<Boolean> compareAndSet(K key, V expect, V update)
      Atomically sets the value to the given updated value by specified key only if serialized state of the current value equals to serialized state of the expected value.
      Parameters:
      key - entry key
      expect - the expected value
      update - the new value
      Returns:
      true if successful; or false if the actual value was not equal to the expected value.
    • getAndSet

      io.reactivex.rxjava3.core.Maybe<V> getAndSet(K key, V newValue)
      Retrieves current value by specified key and replaces it with new value.
      Parameters:
      key - entry key
      newValue - value to set
      Returns:
      previous value
    • getAndSet

      io.reactivex.rxjava3.core.Maybe<V> getAndSet(K key, V value, Duration duration)
      Retrieves current value by specified key and replaces it with value and defines expiration duration.
      Parameters:
      key - entry key
      value - value to set
      duration - expiration duration
      Returns:
      previous value
    • getAndExpire

      io.reactivex.rxjava3.core.Maybe<V> getAndExpire(K key, Duration duration)
      Retrieves current value by specified key and sets an expiration duration for it.

      Requires Redis 6.2.0 and higher.

      Parameters:
      key - entry key
      duration - of object time to live interval
      Returns:
      value
    • getAndExpire

      io.reactivex.rxjava3.core.Maybe<V> getAndExpire(K key, Instant time)
      Retrieves current value by specified key and sets an expiration date for it.

      Requires Redis 6.2.0 and higher.

      Parameters:
      key - entry key
      time - of exact object expiration moment
      Returns:
      value
    • getAndClearExpire

      io.reactivex.rxjava3.core.Maybe<V> getAndClearExpire(K key)
      Retrieves current value by specified key and clears expiration date set before.

      Requires Redis 6.2.0 and higher.

      Parameters:
      key - entry key
      Returns:
      value
    • set

      io.reactivex.rxjava3.core.Completable set(K key, V value)
      Stores value by specified key.
      Parameters:
      key - entry key
      value - value to set
    • set

      io.reactivex.rxjava3.core.Completable set(Map<K,V> entries)
      Stores values by specified keys.
      Parameters:
      entries - entries to store
    • set

      io.reactivex.rxjava3.core.Completable set(String path, Map<K,V> entries)
      Stores values by specified keys and JSONPath.
      Parameters:
      path - JSONPath
      entries - entries to store
    • set

      io.reactivex.rxjava3.core.Completable set(K key, V value, Duration duration)
      Stores value by specified key with defined expiration duration.
      Parameters:
      key - entry key
      value - value to set
      duration - expiration duration
    • set

      io.reactivex.rxjava3.core.Completable set(Map<K,V> entries, Duration duration)
      Stores values by specified keys with defined expiration duration.
      Parameters:
      entries - entries to store
      duration - expiration duration
    • setAndKeepTTL

      io.reactivex.rxjava3.core.Completable setAndKeepTTL(K key, V value)
      Sets value by specified key and keep existing TTL.

      Requires Redis 6.0.0 and higher.

      Parameters:
      value - value to set
    • addListener

      io.reactivex.rxjava3.core.Single<Integer> addListener(ObjectListener listener)
      Adds object event listener
      Specified by:
      addListener in interface RObjectRx
      Parameters:
      listener - object event listener
      Returns:
      listener id
      See Also:
    • remainTimeToLive

      io.reactivex.rxjava3.core.Single<Long> remainTimeToLive(K key)
      Remaining time to live of map entry associated with a key.
      Parameters:
      key - - map key
      Returns:
      time in milliseconds -2 if the key does not exist. -1 if the key exists but has no associated expire.
    • containsKey

      io.reactivex.rxjava3.core.Single<Boolean> containsKey(Object key)
      Returns true if this map contains map entry mapped by specified key, otherwise false
      Parameters:
      key - - map key
      Returns:
      true if this map contains map entry mapped by specified key, otherwise false
    • readAllKeySet

      io.reactivex.rxjava3.core.Single<Set<K>> readAllKeySet()
      Read all keys at once
      Returns:
      keys
    • size

      io.reactivex.rxjava3.core.Single<Integer> size()
      Returns entries amount in store
      Returns:
      entries amount
    • getCountDownLatch

      RCountDownLatchRx getCountDownLatch(K key)
      Returns RCountDownLatch instance associated with key
      Parameters:
      key - - map key
      Returns:
      countdownlatch
    • getPermitExpirableSemaphore

      RPermitExpirableSemaphoreRx getPermitExpirableSemaphore(K key)
      Returns RPermitExpirableSemaphore instance associated with key
      Parameters:
      key - - map key
      Returns:
      permitExpirableSemaphore
    • getSemaphore

      RSemaphoreRx getSemaphore(K key)
      Returns RSemaphore instance associated with key
      Parameters:
      key - - map key
      Returns:
      semaphore
    • getFairLock

      RLockRx getFairLock(K key)
      Returns RLock instance associated with key
      Parameters:
      key - - map key
      Returns:
      fairlock
    • getReadWriteLock

      RReadWriteLockRx getReadWriteLock(K key)
      Returns RReadWriteLock instance associated with key
      Parameters:
      key - - map key
      Returns:
      readWriteLock
    • getLock

      RLockRx getLock(K key)
      Returns RLock instance associated with key
      Parameters:
      key - - map key
      Returns:
      lock