Interface ReactiveRedisDataSource

All Known Implementing Classes:
ReactiveRedisDataSourceImpl

public interface ReactiveRedisDataSource
Non-Blocking and Reactive Redis Data Source.

This class provides access to various groups of methods. Each method execute a Redis command. Groups and methods are type-safe. The decomposition follows the Redis API group.

NOTE: Not all commands are exposed from this API. This is done on purpose. You can always use the low-level Redis client to execute others commands.

  • Method Details

    • withConnection

      io.smallrye.mutiny.Uni<Void> withConnection(Function<ReactiveRedisDataSource,io.smallrye.mutiny.Uni<Void>> function)
      Obtains a ReactiveRedisDataSource that uses a single connection to the Redis server and passes it to the given function. The connection is acquired from the pool and released when the Uni returned by function produces an item or a failure.
      Parameters:
      function - the function receiving the connection and producing null when the connection can be released.
    • withTransaction

      io.smallrye.mutiny.Uni<TransactionResult> withTransaction(Function<ReactiveTransactionalRedisDataSource,io.smallrye.mutiny.Uni<Void>> tx)
      Obtains a ReactiveRedisDataSource that enqueues commands in a Redis Transaction (MULTI) and passes it to the given tx block. Note that the transaction acquires a single connection and all the commands are enqueued on this connection. The commands are only executed when the Uni returned by tx produces an item.

      The results of the commands can be obtained from the returned TransactionResult. Errors are represented as Throwables in the TransactionResult.

      The user can discard a transaction using the ReactiveTransactionalRedisDataSource.discard() method. In this case, the produced TransactionResult is empty. If the tx block completes with a failure, the transaction is discarded automatically and the resulting Uni completes with the same failure.

      Parameters:
      tx - the consumer receiving the transactional Redis data source. The enqueued commands are only executed when this block completes with an item.
    • withTransaction

      io.smallrye.mutiny.Uni<TransactionResult> withTransaction(Function<ReactiveTransactionalRedisDataSource,io.smallrye.mutiny.Uni<Void>> tx, String... watchedKeys)
      Obtains a ReactiveRedisDataSource that enqueues commands in a Redis Transaction (WATCH invalid input: '&' MULTI), starts watching the given watchedKeys, and passes it to the given tx block. Note that the transaction acquires a single connection and all the commands are enqueued on this connection. The commands are only executed when the Uni returned by tx produces an item.

      The results of the commands can be obtained from the returned TransactionResult. Errors are represented as Throwables in the TransactionResult.

      The user can discard a transaction using the ReactiveTransactionalRedisDataSource.discard() method. In this case, the produced TransactionResult is empty. If the tx block completes with a failure, the transaction is discarded automatically and the resulting Uni completes with the same failure.

      Parameters:
      tx - the consumer receiving the transactional Redis data source. The enqueued commands are only executed when this block completes with an item.
      watchedKeys - the keys to watch during the execution of the transaction. If one of these key is modified before the completion of the transaction, the transaction is discarded.
    • withTransaction

      <I> io.smallrye.mutiny.Uni<OptimisticLockingTransactionResult<I>> withTransaction(Function<ReactiveRedisDataSource,io.smallrye.mutiny.Uni<I>> preTx, BiFunction<I,ReactiveTransactionalRedisDataSource,io.smallrye.mutiny.Uni<Void>> tx, String... watchedKeys)
      Obtains a ReactiveRedisDataSource that enqueues commands in a Redis Transaction (WATCH invalid input: '&' MULTI), starts watching the given watchedKeys, passes it to the given preTx block and if that doesn't fail, passes it again to the given tx block. Note that the transaction acquires a single connection and all the commands are enqueued on this connection. The commands are only executed when the Uni returned by tx produces an item.

      This variant also allows executing code before the transaction gets started but after the keys are watched:

       WATCH key
           // preTx
           element = ZRANGE k 0 0
       MULTI
           // tx
           ZREM k element
       EXEC
       

      The preTxBlock returns a Uni<I>. The produced value is received by the tx block, which can use that value to execute the appropriate operation in the transaction. The produced value can also be obtained from the returned OptimisticLockingTransactionResult. Commands issued in the preTx block must use the passed (single-connection) ReactiveRedisDataSource instance.

      If the preTx block completes with a failure, all watched keys are UNWATCHed and the returned Uni completes with the same failure.

      This construct allows implementing operation relying on optimistic locking. The results of the commands can be obtained from the returned OptimisticLockingTransactionResult. Errors are represented as Throwables in the OptimisticLockingTransactionResult.

      The user can discard a transaction using the ReactiveTransactionalRedisDataSource.discard() method. In this case, the produced OptimisticLockingTransactionResult is empty. If the tx block completes with a failure, the transaction is discarded automatically and the resulting Uni completes with the same failure.

      Parameters:
      preTx - the consumer receiving the Redis data source before the transaction is started but after the watchedKeys are watched.
      tx - the consumer receiving the transactional Redis data source after the transaction is started. The enqueued commands are only executed when this block completes with an item.
      watchedKeys - the keys to watch during the execution of the transaction. If one of these key is modified before the completion of the transaction, the transaction is discarded.
    • select

      io.smallrye.mutiny.Uni<Void> select(long index)
      Execute the command SELECT. Summary: Change the selected database for the current connection Group: connection Requires Redis 1.0.0

      This method is expected to be used inside a withConnection(Function) block.

      Parameters:
      index - the database index.
    • flushall

      io.smallrye.mutiny.Uni<Void> flushall()
      Execute the command FLUSHALL. Summary: Remove all keys from all databases Group: server Requires Redis 1.0.0
    • hash

      <K, F, V> ReactiveHashCommands<K,F,V> hash(Class<K> redisKeyType, Class<F> fieldType, Class<V> valueType)
      Gets the object to execute commands manipulating hashes (a.k.a. Map&lt;F, V&gt;).

      If you want to use a hash of &lt;String -> Person&gt; stored using String identifier, you would use: hash(String.class, String.class, Person.class). If you want to use a hash of &lt;String -> Person&gt; stored using UUID identifier, you would use: hash(UUID.class, String.class, Person.class).

      Type Parameters:
      K - the type of the redis key
      F - the type of the fields (map's keys)
      V - the type of the value
      Parameters:
      redisKeyType - the class of the keys
      fieldType - the class of the fields
      valueType - the class of the values
      Returns:
      the object to execute commands manipulating hashes (a.k.a. Map&lt;K, V&gt;).
    • hash

      <K, F, V> ReactiveHashCommands<K,F,V> hash(com.fasterxml.jackson.core.type.TypeReference<K> redisKeyType, com.fasterxml.jackson.core.type.TypeReference<F> fieldType, com.fasterxml.jackson.core.type.TypeReference<V> valueType)
      Gets the object to execute commands manipulating hashes (a.k.a. Map&lt;F, V&gt;).

      If you want to use a hash of &lt;String -> Person&gt; stored using String identifier, you would use: hash(String.class, String.class, Person.class). If you want to use a hash of &lt;String -> Person&gt; stored using UUID identifier, you would use: hash(UUID.class, String.class, Person.class).

      Type Parameters:
      K - the type of the redis key
      F - the type of the fields (map's keys)
      V - the type of the value
      Parameters:
      redisKeyType - the class of the keys
      fieldType - the class of the fields
      valueType - the class of the values
      Returns:
      the object to execute commands manipulating hashes (a.k.a. Map&lt;K, V&gt;).
    • hash

      default <V> ReactiveHashCommands<String,String,V> hash(Class<V> typeOfValue)
      Gets the object to execute commands manipulating hashes (a.k.a. Map&lt;String, V&gt;).

      This is a shortcut on hash(String.class, String.class, V)

      Type Parameters:
      V - the type of the value
      Parameters:
      typeOfValue - the class of the values
      Returns:
      the object to execute commands manipulating hashes (a.k.a. Map&lt;String, V&gt;).
    • hash

      default <V> ReactiveHashCommands<String,String,V> hash(com.fasterxml.jackson.core.type.TypeReference<V> typeOfValue)
      Gets the object to execute commands manipulating hashes (a.k.a. Map&lt;String, V&gt;).

      This is a shortcut on hash(String.class, String.class, V)

      Type Parameters:
      V - the type of the value
      Parameters:
      typeOfValue - the class of the values
      Returns:
      the object to execute commands manipulating hashes (a.k.a. Map&lt;String, V&gt;).
    • geo

      <K, V> ReactiveGeoCommands<K,V> geo(Class<K> redisKeyType, Class<V> memberType)
      Gets the object to execute commands manipulating geo items (a.k.a. {longitude, latitude, member}).

      V represents the type of the member, i.e. the localized thing.

      Type Parameters:
      K - the type of the redis key
      V - the type of the member
      Parameters:
      redisKeyType - the class of the keys
      memberType - the class of the members
      Returns:
      the object to execute geo commands.
    • geo

      <K, V> ReactiveGeoCommands<K,V> geo(com.fasterxml.jackson.core.type.TypeReference<K> redisKeyType, com.fasterxml.jackson.core.type.TypeReference<V> memberType)
      Gets the object to execute commands manipulating geo items (a.k.a. {longitude, latitude, member}).

      V represents the type of the member, i.e. the localized thing.

      Type Parameters:
      K - the type of the redis key
      V - the type of the member
      Parameters:
      redisKeyType - the class of the keys
      memberType - the class of the members
      Returns:
      the object to execute geo commands.
    • geo

      default <V> ReactiveGeoCommands<String,V> geo(Class<V> memberType)
      Gets the object to execute commands manipulating geo items (a.k.a. {longitude, latitude, member}).

      V represents the type of the member, i.e. the localized thing.

      Type Parameters:
      V - the type of the member
      Parameters:
      memberType - the class of the members
      Returns:
      the object to execute geo commands.
    • geo

      default <V> ReactiveGeoCommands<String,V> geo(com.fasterxml.jackson.core.type.TypeReference<V> memberType)
      Gets the object to execute commands manipulating geo items (a.k.a. {longitude, latitude, member}).

      V represents the type of the member, i.e. the localized thing.

      Type Parameters:
      V - the type of the member
      Parameters:
      memberType - the class of the members
      Returns:
      the object to execute geo commands.
    • key

      <K> ReactiveKeyCommands<K> key(Class<K> redisKeyType)
      Gets the object to execute commands manipulating keys and expiration times.
      Type Parameters:
      K - the type of the key
      Parameters:
      redisKeyType - the type of the keys
      Returns:
      the object to execute commands manipulating keys.
    • key

      <K> ReactiveKeyCommands<K> key(com.fasterxml.jackson.core.type.TypeReference<K> redisKeyType)
      Gets the object to execute commands manipulating keys and expiration times.
      Type Parameters:
      K - the type of the key
      Parameters:
      redisKeyType - the type of the keys
      Returns:
      the object to execute commands manipulating keys.
    • key

      default ReactiveKeyCommands<String> key()
      Gets the object to execute commands manipulating keys and expiration times.
      Returns:
      the object to execute commands manipulating keys.
    • sortedSet

      <K, V> ReactiveSortedSetCommands<K,V> sortedSet(Class<K> redisKeyType, Class<V> valueType)
      Gets the object to execute commands manipulating sorted sets.
      Type Parameters:
      K - the type of the key
      V - the type of the value
      Parameters:
      redisKeyType - the type of the keys
      valueType - the type of the value sorted in the sorted sets
      Returns:
      the object to manipulate sorted sets.
    • sortedSet

      <K, V> ReactiveSortedSetCommands<K,V> sortedSet(com.fasterxml.jackson.core.type.TypeReference<K> redisKeyType, com.fasterxml.jackson.core.type.TypeReference<V> valueType)
      Gets the object to execute commands manipulating sorted sets.
      Type Parameters:
      K - the type of the key
      V - the type of the value
      Parameters:
      redisKeyType - the type of the keys
      valueType - the type of the value sorted in the sorted sets
      Returns:
      the object to manipulate sorted sets.
    • sortedSet

      default <V> ReactiveSortedSetCommands<String,V> sortedSet(Class<V> valueType)
      Gets the object to execute commands manipulating sorted sets.
      Type Parameters:
      V - the type of the value
      Parameters:
      valueType - the type of the value sorted in the sorted sets
      Returns:
      the object to manipulate sorted sets.
    • sortedSet

      default <V> ReactiveSortedSetCommands<String,V> sortedSet(com.fasterxml.jackson.core.type.TypeReference<V> valueType)
      Gets the object to execute commands manipulating sorted sets.
      Type Parameters:
      V - the type of the value
      Parameters:
      valueType - the type of the value sorted in the sorted sets
      Returns:
      the object to manipulate sorted sets.
    • value

      <K, V> ReactiveValueCommands<K,V> value(Class<K> redisKeyType, Class<V> valueType)
      Gets the object to execute commands manipulating stored strings.

      NOTE: Instead of string, this group is named value to avoid the confusion with the Java String type. Indeed, Redis strings can be strings, numbers, byte arrays...

      Type Parameters:
      K - the type of the key
      V - the type of the value
      Parameters:
      redisKeyType - the type of the keys
      valueType - the type of the value, often String, or the value are encoded/decoded using codecs.
      Returns:
      the object to manipulate stored strings.
    • value

      <K, V> ReactiveValueCommands<K,V> value(com.fasterxml.jackson.core.type.TypeReference<K> redisKeyType, com.fasterxml.jackson.core.type.TypeReference<V> valueType)
      Gets the object to execute commands manipulating stored strings.

      NOTE: Instead of string, this group is named value to avoid the confusion with the Java String type. Indeed, Redis strings can be strings, numbers, byte arrays...

      Type Parameters:
      K - the type of the key
      V - the type of the value
      Parameters:
      redisKeyType - the type of the keys
      valueType - the type of the value, often String, or the value are encoded/decoded using codecs.
      Returns:
      the object to manipulate stored strings.
    • value

      default <V> ReactiveValueCommands<String,V> value(Class<V> valueType)
      Gets the object to execute commands manipulating stored strings.

      NOTE: Instead of string, this group is named value to avoid the confusion with the Java String type. Indeed, Redis strings can be strings, numbers, byte arrays...

      Type Parameters:
      V - the type of the value
      Parameters:
      valueType - the type of the value, often String, or the value are encoded/decoded using codecs.
      Returns:
      the object to manipulate stored strings.
    • value

      default <V> ReactiveValueCommands<String,V> value(com.fasterxml.jackson.core.type.TypeReference<V> valueType)
      Gets the object to execute commands manipulating stored strings.

      NOTE: Instead of string, this group is named value to avoid the confusion with the Java String type. Indeed, Redis strings can be strings, numbers, byte arrays...

      Type Parameters:
      V - the type of the value
      Parameters:
      valueType - the type of the value, often String, or the value are encoded/decoded using codecs.
      Returns:
      the object to manipulate stored strings.
    • string

      @Deprecated <K, V> ReactiveStringCommands<K,V> string(Class<K> redisKeyType, Class<V> valueType)
      Deprecated.
      Gets the object to execute commands manipulating stored strings.
      Type Parameters:
      K - the type of the key
      V - the type of the value
      Parameters:
      redisKeyType - the type of the keys
      valueType - the type of the value, often String, or the value are encoded/decoded using codecs.
      Returns:
      the object to manipulate stored strings.
    • string

      @Deprecated default <V> ReactiveStringCommands<String,V> string(Class<V> valueType)
      Deprecated.
      Use value(Class) instead
      Gets the object to execute commands manipulating stored strings.
      Type Parameters:
      V - the type of the value
      Parameters:
      valueType - the type of the value, often String, or the value are encoded/decoded using codecs.
      Returns:
      the object to manipulate stored strings.
    • set

      <K, V> ReactiveSetCommands<K,V> set(Class<K> redisKeyType, Class<V> memberType)
      Gets the object to execute commands manipulating sets.
      Type Parameters:
      K - the type of the key
      V - the type of the member
      Parameters:
      redisKeyType - the type of the keys
      memberType - the type of the member stored in each set
      Returns:
      the object to manipulate sets.
    • set

      <K, V> ReactiveSetCommands<K,V> set(com.fasterxml.jackson.core.type.TypeReference<K> redisKeyType, com.fasterxml.jackson.core.type.TypeReference<V> memberType)
      Gets the object to execute commands manipulating sets.
      Type Parameters:
      K - the type of the key
      V - the type of the member
      Parameters:
      redisKeyType - the type of the keys
      memberType - the type of the member stored in each set
      Returns:
      the object to manipulate sets.
    • set

      default <V> ReactiveSetCommands<String,V> set(Class<V> memberType)
      Gets the object to execute commands manipulating sets.
      Type Parameters:
      V - the type of the member
      Parameters:
      memberType - the type of the member stored in each set
      Returns:
      the object to manipulate sets.
    • set

      default <V> ReactiveSetCommands<String,V> set(com.fasterxml.jackson.core.type.TypeReference<V> memberType)
      Gets the object to execute commands manipulating sets.
      Type Parameters:
      V - the type of the member
      Parameters:
      memberType - the type of the member stored in each set
      Returns:
      the object to manipulate sets.
    • list

      <K, V> ReactiveListCommands<K,V> list(Class<K> redisKeyType, Class<V> memberType)
      Gets the object to execute commands manipulating lists.
      Type Parameters:
      K - the type of the key
      V - the type of the member
      Parameters:
      redisKeyType - the type of the keys
      memberType - the type of the member stored in each list
      Returns:
      the object to manipulate sets.
    • list

      default <V> ReactiveListCommands<String,V> list(Class<V> memberType)
      Gets the object to execute commands manipulating lists.
      Type Parameters:
      V - the type of the member
      Parameters:
      memberType - the type of the member stored in each list
      Returns:
      the object to manipulate sets.
    • list

      <K, V> ReactiveListCommands<K,V> list(com.fasterxml.jackson.core.type.TypeReference<K> redisKeyType, com.fasterxml.jackson.core.type.TypeReference<V> memberType)
      Gets the object to execute commands manipulating lists.
      Type Parameters:
      K - the type of the key
      V - the type of the member
      Parameters:
      redisKeyType - the type of the keys
      memberType - the type of the member stored in each list
      Returns:
      the object to manipulate sets.
    • list

      default <V> ReactiveListCommands<String,V> list(com.fasterxml.jackson.core.type.TypeReference<V> memberType)
      Gets the object to execute commands manipulating lists.
      Type Parameters:
      V - the type of the member
      Parameters:
      memberType - the type of the member stored in each list
      Returns:
      the object to manipulate sets.
    • hyperloglog

      <K, V> ReactiveHyperLogLogCommands<K,V> hyperloglog(Class<K> redisKeyType, Class<V> memberType)
      Gets the object to execute commands manipulating hyperloglog data structures.
      Type Parameters:
      K - the type of the key
      V - the type of the member
      Parameters:
      redisKeyType - the type of the keys
      memberType - the type of the member stored in the data structure
      Returns:
      the object to manipulate hyper log log data structures.
    • hyperloglog

      <K, V> ReactiveHyperLogLogCommands<K,V> hyperloglog(com.fasterxml.jackson.core.type.TypeReference<K> redisKeyType, com.fasterxml.jackson.core.type.TypeReference<V> memberType)
      Gets the object to execute commands manipulating hyperloglog data structures.
      Type Parameters:
      K - the type of the key
      V - the type of the member
      Parameters:
      redisKeyType - the type of the keys
      memberType - the type of the member stored in the data structure
      Returns:
      the object to manipulate hyper log log data structures.
    • hyperloglog

      default <V> ReactiveHyperLogLogCommands<String,V> hyperloglog(Class<V> memberType)
      Gets the object to execute commands manipulating hyperloglog data structures.
      Type Parameters:
      V - the type of the member
      Parameters:
      memberType - the type of the member stored in the data structure
      Returns:
      the object to manipulate hyper log log data structures.
    • hyperloglog

      default <V> ReactiveHyperLogLogCommands<String,V> hyperloglog(com.fasterxml.jackson.core.type.TypeReference<V> memberType)
      Gets the object to execute commands manipulating hyperloglog data structures.
      Type Parameters:
      V - the type of the member
      Parameters:
      memberType - the type of the member stored in the data structure
      Returns:
      the object to manipulate hyper log log data structures.
    • bitmap

      <K> ReactiveBitMapCommands<K> bitmap(Class<K> redisKeyType)
      Gets the object to execute commands manipulating bitmap data structures.
      Type Parameters:
      K - the type of the key
      Parameters:
      redisKeyType - the type of the keys
      Returns:
      the object to manipulate bitmap data structures.
    • bitmap

      <K> ReactiveBitMapCommands<K> bitmap(com.fasterxml.jackson.core.type.TypeReference<K> redisKeyType)
      Gets the object to execute commands manipulating bitmap data structures.
      Type Parameters:
      K - the type of the key
      Parameters:
      redisKeyType - the type of the keys
      Returns:
      the object to manipulate bitmap data structures.
    • bitmap

      default ReactiveBitMapCommands<String> bitmap()
      Gets the object to execute commands manipulating bitmap data structures.
      Returns:
      the object to manipulate bitmap data structures.
    • stream

      <K, F, V> ReactiveStreamCommands<K,F,V> stream(Class<K> redisKeyType, Class<F> fieldType, Class<V> valueType)
      Gets the object to execute commands manipulating streams.
      Type Parameters:
      K - the type of the redis key
      F - the type of the fields (map's keys)
      V - the type of the value
      Parameters:
      redisKeyType - the class of the keys
      fieldType - the class of the fields included in the message exchanged on the streams
      valueType - the class of the values included in the message exchanged on the streams
      Returns:
      the object to execute commands manipulating streams.
    • stream

      <K, F, V> ReactiveStreamCommands<K,F,V> stream(com.fasterxml.jackson.core.type.TypeReference<K> redisKeyType, com.fasterxml.jackson.core.type.TypeReference<F> fieldType, com.fasterxml.jackson.core.type.TypeReference<V> valueType)
      Gets the object to execute commands manipulating streams.
      Type Parameters:
      K - the type of the redis key
      F - the type of the fields (map's keys)
      V - the type of the value
      Parameters:
      redisKeyType - the class of the keys
      fieldType - the class of the fields included in the message exchanged on the streams
      valueType - the class of the values included in the message exchanged on the streams
      Returns:
      the object to execute commands manipulating streams.
    • stream

      default <V> ReactiveStreamCommands<String,String,V> stream(Class<V> typeOfValue)
      Gets the object to execute commands manipulating streams, using a string key, and string fields.
      Type Parameters:
      V - the type of the value
      Returns:
      the object to execute commands manipulating streams.
    • stream

      default <V> ReactiveStreamCommands<String,String,V> stream(com.fasterxml.jackson.core.type.TypeReference<V> typeOfValue)
      Gets the object to execute commands manipulating streams, using a string key, and string fields.
      Type Parameters:
      V - the type of the value
      Returns:
      the object to execute commands manipulating streams.
    • pubsub

      <V> ReactivePubSubCommands<V> pubsub(Class<V> messageType)
      Gets the object to publish and receive messages.
      Type Parameters:
      V - the type of message
      Parameters:
      messageType - the type of message
      Returns:
      the object to publish and subscribe to Redis channels
    • pubsub

      <V> ReactivePubSubCommands<V> pubsub(com.fasterxml.jackson.core.type.TypeReference<V> messageType)
      Gets the object to publish and receive messages.
      Type Parameters:
      V - the type of message
      Parameters:
      messageType - the type of message
      Returns:
      the object to publish and subscribe to Redis channels
    • json

      default ReactiveJsonCommands<String> json()
      Gets the object to manipulate JSON values. This group requires the RedisJSON module.
      Returns:
      the object to manipulate JSON values.
    • json

      <K> ReactiveJsonCommands<K> json(Class<K> redisKeyType)
      Gets the object to manipulate JSON values. This group requires the RedisJSON module.
      Type Parameters:
      K - the type of keys
      Returns:
      the object to manipulate JSON values.
    • json

      <K> ReactiveJsonCommands<K> json(com.fasterxml.jackson.core.type.TypeReference<K> redisKeyType)
      Gets the object to manipulate JSON values. This group requires the RedisJSON module.
      Type Parameters:
      K - the type of keys
      Returns:
      the object to manipulate JSON values.
    • bloom

      default <V> ReactiveBloomCommands<String,V> bloom(Class<V> valueType)
      Gets the object to manipulate Bloom filters. This group requires the RedisBloom module.
      Type Parameters:
      V - the type of the values added into the Bloom filter
      Returns:
      the object to manipulate bloom values.
    • bloom

      default <V> ReactiveBloomCommands<String,V> bloom(com.fasterxml.jackson.core.type.TypeReference<V> valueType)
      Gets the object to manipulate Bloom filters. This group requires the RedisBloom module.
      Type Parameters:
      V - the type of the values added into the Bloom filter
      Returns:
      the object to manipulate bloom values.
    • bloom

      <K, V> ReactiveBloomCommands<K,V> bloom(Class<K> redisKeyType, Class<V> valueType)
      Gets the object to manipulate Bloom filters. This group requires the RedisBloom module.
      Type Parameters:
      K - the type of keys
      V - the type of the values added into the Bloom filter
      Returns:
      the object to manipulate bloom values.
    • bloom

      <K, V> ReactiveBloomCommands<K,V> bloom(com.fasterxml.jackson.core.type.TypeReference<K> redisKeyType, com.fasterxml.jackson.core.type.TypeReference<V> valueType)
      Gets the object to manipulate Bloom filters. This group requires the RedisBloom module.
      Type Parameters:
      K - the type of keys
      V - the type of the values added into the Bloom filter
      Returns:
      the object to manipulate bloom values.
    • cuckoo

      default <V> ReactiveCuckooCommands<String,V> cuckoo(Class<V> valueType)
      Gets the object to manipulate Cuckoo filters. This group requires the RedisBloom module (including the Cuckoo filter support).
      Type Parameters:
      V - the type of the values added into the Cuckoo filter
      Returns:
      the object to manipulate Cuckoo values.
    • cuckoo

      default <V> ReactiveCuckooCommands<String,V> cuckoo(com.fasterxml.jackson.core.type.TypeReference<V> valueType)
      Gets the object to manipulate Cuckoo filters. This group requires the RedisBloom module (including the Cuckoo filter support).
      Type Parameters:
      V - the type of the values added into the Cuckoo filter
      Returns:
      the object to manipulate Cuckoo values.
    • cuckoo

      <K, V> ReactiveCuckooCommands<K,V> cuckoo(Class<K> redisKeyType, Class<V> valueType)
      Gets the object to manipulate Cuckoo filters. This group requires the RedisBloom module (including the Cuckoo filter support).
      Type Parameters:
      K - the type of keys
      V - the type of the values added into the Cuckoo filter
      Returns:
      the object to manipulate Cuckoo values.
    • cuckoo

      <K, V> ReactiveCuckooCommands<K,V> cuckoo(com.fasterxml.jackson.core.type.TypeReference<K> redisKeyType, com.fasterxml.jackson.core.type.TypeReference<V> valueType)
      Gets the object to manipulate Cuckoo filters. This group requires the RedisBloom module (including the Cuckoo filter support).
      Type Parameters:
      K - the type of keys
      V - the type of the values added into the Cuckoo filter
      Returns:
      the object to manipulate Cuckoo values.
    • countmin

      default <V> ReactiveCountMinCommands<String,V> countmin(Class<V> valueType)
      Gets the object to manipulate Count-Min sketches. This group requires the RedisBloom module (including the count-min sketches support).
      Type Parameters:
      V - the type of the values added into the count-min sketches
      Returns:
      the object to manipulate count-min sketches.
    • countmin

      default <V> ReactiveCountMinCommands<String,V> countmin(com.fasterxml.jackson.core.type.TypeReference<V> valueType)
      Gets the object to manipulate Count-Min sketches. This group requires the RedisBloom module (including the count-min sketches support).
      Type Parameters:
      V - the type of the values added into the count-min sketches
      Returns:
      the object to manipulate count-min sketches.
    • countmin

      <K, V> ReactiveCountMinCommands<K,V> countmin(Class<K> redisKeyType, Class<V> valueType)
      Gets the object to manipulate Count-Min sketches. This group requires the RedisBloom module (including the count-min sketches support).
      Type Parameters:
      K - the type of keys
      V - the type of the values added into the count-min sketches
      Returns:
      the object to manipulate count-min sketches.
    • countmin

      <K, V> ReactiveCountMinCommands<K,V> countmin(com.fasterxml.jackson.core.type.TypeReference<K> redisKeyType, com.fasterxml.jackson.core.type.TypeReference<V> valueType)
      Gets the object to manipulate Count-Min sketches. This group requires the RedisBloom module (including the count-min sketches support).
      Type Parameters:
      K - the type of keys
      V - the type of the values added into the count-min sketches
      Returns:
      the object to manipulate count-min sketches.
    • topk

      default <V> ReactiveTopKCommands<String,V> topk(Class<V> valueType)
      Gets the object to manipulate Top-K list. This group requires the RedisBloom module (including the top-k list support).
      Type Parameters:
      V - the type of the values added into the top-k lists
      Returns:
      the object to manipulate top-k lists.
    • topk

      default <V> ReactiveTopKCommands<String,V> topk(com.fasterxml.jackson.core.type.TypeReference<V> valueType)
      Gets the object to manipulate Top-K list. This group requires the RedisBloom module (including the top-k list support).
      Type Parameters:
      V - the type of the values added into the top-k lists
      Returns:
      the object to manipulate top-k lists.
    • topk

      <K, V> ReactiveTopKCommands<K,V> topk(Class<K> redisKeyType, Class<V> valueType)
      Gets the object to manipulate Top-K list. This group requires the RedisBloom module (including the top-k list support).
      Type Parameters:
      K - the type of keys
      V - the type of the values added into the top-k lists
      Returns:
      the object to manipulate top-k lists.
    • topk

      <K, V> ReactiveTopKCommands<K,V> topk(com.fasterxml.jackson.core.type.TypeReference<K> redisKeyType, com.fasterxml.jackson.core.type.TypeReference<V> valueType)
      Gets the object to manipulate Top-K list. This group requires the RedisBloom module (including the top-k list support).
      Type Parameters:
      K - the type of keys
      V - the type of the values added into the top-k lists
      Returns:
      the object to manipulate top-k lists.
    • graph

      @Experimental("The Redis graph support is experimental") default ReactiveGraphCommands<String> graph()
      Gets the object to manipulate graphs. This group requires the RedisGraph module.
      Returns:
      the object to manipulate graphs lists.
    • graph

      @Experimental("The Redis graph support is experimental") <K> ReactiveGraphCommands<K> graph(Class<K> redisKeyType)
      Gets the object to manipulate graphs. This group requires the RedisGraph module.
      Type Parameters:
      K - the type of keys
      Returns:
      the object to manipulate graphs lists.
    • search

      @Experimental("The Redis search support is experimental") @Deprecated <K> ReactiveSearchCommands<K> search(Class<K> redisKeyType)
      Deprecated.
      Use the variant without parameter, as the index name must be a string.
      Gets the object to emit commands from the search group. This group requires the RedisSearch module.
      Type Parameters:
      K - the type of keys
      Returns:
      the object to search documents
    • search

      @Experimental("The Redis Search support is experimental") default ReactiveSearchCommands<String> search()
      Gets the object to emit commands from the search group. This group requires the RedisSearch module.
      Returns:
      the object to search documents
    • autosuggest

      @Experimental("The Redis auto-suggest support is experimental") <K> ReactiveAutoSuggestCommands<K> autosuggest(Class<K> redisKeyType)
      Gets the object to emit commands from the auto-suggest group. This group requires the RedisSearch module.
      Type Parameters:
      K - the type of keys
      Returns:
      the object to get suggestions
    • autosuggest

      @Experimental("The Redis auto-suggest support is experimental") <K> ReactiveAutoSuggestCommands<K> autosuggest(com.fasterxml.jackson.core.type.TypeReference<K> redisKeyType)
      Gets the object to emit commands from the auto-suggest group. This group requires the RedisSearch module.
      Type Parameters:
      K - the type of keys
      Returns:
      the object to get suggestions
    • autosuggest

      @Experimental("The Redis auto-suggest support is experimental") default ReactiveAutoSuggestCommands<String> autosuggest()
      Gets the object to emit commands from the auto-suggest group. This group requires the RedisSearch module.
      Returns:
      the object to get suggestions
    • timeseries

      @Experimental("The Redis time series support is experimental") <K> ReactiveTimeSeriesCommands<K> timeseries(Class<K> redisKeyType)
      Gets the object to emit commands from the time series group. This group requires the Redis Time Series module.
      Type Parameters:
      K - the type of keys
      Returns:
      the object to manipulate time series
    • timeseries

      @Experimental("The Redis time series support is experimental") <K> ReactiveTimeSeriesCommands<K> timeseries(com.fasterxml.jackson.core.type.TypeReference<K> redisKeyType)
      Gets the object to emit commands from the time series group. This group requires the Redis Time Series module.
      Type Parameters:
      K - the type of keys
      Returns:
      the object to manipulate time series
    • timeseries

      @Experimental("The Redis time series support is experimental") default ReactiveTimeSeriesCommands<String> timeseries()
      Gets the object to emit commands from the time series group. This group requires the Redis Time Series module.
      Returns:
      the object to manipulate time series
    • execute

      io.smallrye.mutiny.Uni<io.vertx.mutiny.redis.client.Response> execute(String command, String... args)
      Executes a command. This method is used to execute commands not offered by the API.
      Parameters:
      command - the command name
      args - the parameters, encoded as String.
      Returns:
      the response
    • execute

      io.smallrye.mutiny.Uni<io.vertx.mutiny.redis.client.Response> execute(io.vertx.mutiny.redis.client.Command command, String... args)
      Executes a command. This method is used to execute commands not offered by the API.
      Parameters:
      command - the command
      args - the parameters, encoded as String.
      Returns:
      the response
    • execute

      io.smallrye.mutiny.Uni<io.vertx.mutiny.redis.client.Response> execute(io.vertx.redis.client.Command command, String... args)
      Executes a command. This method is used to execute commands not offered by the API.
      Parameters:
      command - the command
      args - the parameters, encoded as String.
      Returns:
      the response
    • getRedis

      io.vertx.mutiny.redis.client.Redis getRedis()
      Returns:
      the underlying Redis client.