Interface ReactiveTransactionalRedisDataSource

All Known Implementing Classes:
ReactiveTransactionalRedisDataSourceImpl

public interface ReactiveTransactionalRedisDataSource
Redis Data Source object used to execute commands in a Redis transaction (MULTI). Note that the results of the enqueued commands are not available until the completion of the transaction.
  • Method Details

    • discard

      io.smallrye.mutiny.Uni<Void> discard()
      Discard the current transaction.
    • discarded

      boolean discarded()
      Checks if the current transaction has been discarded by the user
      Returns:
      if the current transaction has been discarded by the user
    • hash

      <K, F, V> ReactiveTransactionalHashCommands<K,F,V> hash(Class<K> redisKeyType, Class<F> typeOfField, Class<V> typeOfValue)
      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
      typeOfField - the class of the fields
      typeOfValue - the class of the values
      Returns:
      the object to execute commands manipulating hashes (a.k.a. Map&lt;K, V&gt;).
    • hash

      default <V> ReactiveTransactionalHashCommands<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;).
    • geo

      <K, V> ReactiveTransactionalGeoCommands<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

      default <V> ReactiveTransactionalGeoCommands<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.
    • key

      <K> ReactiveTransactionalKeyCommands<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

      Gets the object to execute commands manipulating keys and expiration times.
      Returns:
      the object to execute commands manipulating keys.
    • sortedSet

      <K, V> ReactiveTransactionalSortedSetCommands<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

      default <V> ReactiveTransactionalSortedSetCommands<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.
    • value

      <K, V> ReactiveTransactionalValueCommands<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

      default <V> ReactiveTransactionalValueCommands<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.
    • string

      @Deprecated <K, V> ReactiveTransactionalStringCommands<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> ReactiveTransactionalStringCommands<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> ReactiveTransactionalSetCommands<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

      default <V> ReactiveTransactionalSetCommands<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.
    • list

      <K, V> ReactiveTransactionalListCommands<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> ReactiveTransactionalListCommands<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.
    • hyperloglog

      <K, V> ReactiveTransactionalHyperLogLogCommands<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

      default <V> ReactiveTransactionalHyperLogLogCommands<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.
    • bitmap

      <K> ReactiveTransactionalBitMapCommands<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

      Gets the object to execute commands manipulating bitmap data structures.
      Returns:
      the object to manipulate bitmap data structures.
    • stream

      <K, F, V> ReactiveTransactionalStreamCommands<K,F,V> stream(Class<K> redisKeyType, Class<F> typeOfField, Class<V> typeOfValue)
      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
      typeOfField - the class of the fields
      typeOfValue - the class of the values
      Returns:
      the object to execute commands manipulating streams.
    • stream

      default <V> ReactiveTransactionalStreamCommands<String,String,V> stream(Class<V> typeOfValue)
      Gets the object to execute commands manipulating stream..

      This is a shortcut on stream(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 streams.
    • json

      Gets the object to manipulate JSON values. This group requires the RedisJSON module.
      Returns:
      the object to manipulate JSON values.
    • json

      <K> ReactiveTransactionalJsonCommands<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.
    • bloom

      default <V> ReactiveTransactionalBloomCommands<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 value
      Parameters:
      valueType - the type of value to store in the filters
      Returns:
      the object to manipulate Bloom filters
    • bloom

      <K, V> ReactiveTransactionalBloomCommands<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 key
      V - the type of value
      Parameters:
      redisKeyType - the type of the key
      valueType - the type of value to store in the filters
      Returns:
      the object to manipulate Bloom filters
    • cuckoo

      default <V> ReactiveTransactionalCuckooCommands<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

      <K, V> ReactiveTransactionalCuckooCommands<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.
    • countmin

      default <V> ReactiveTransactionalCountMinCommands<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

      <K, V> ReactiveTransactionalCountMinCommands<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.
    • topk

      default <V> ReactiveTransactionalTopKCommands<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

      <K, V> ReactiveTransactionalTopKCommands<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.
    • graph

      @Experimental("The Redis graph support is experimental") default ReactiveTransactionalGraphCommands<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> ReactiveTransactionalGraphCommands<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") <K> ReactiveTransactionalSearchCommands search(Class<K> redisKeyType)
      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 ReactiveTransactionalSearchCommands 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> ReactiveTransactionalAutoSuggestCommands<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") default ReactiveTransactionalAutoSuggestCommands<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> ReactiveTransactionalTimeSeriesCommands<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") default ReactiveTransactionalTimeSeriesCommands<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<Void> 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<Void> 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<Void> 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