Interface TransactionalRedisDataSource

All Known Implementing Classes:
BlockingTransactionalRedisDataSourceImpl

public interface TransactionalRedisDataSource
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

      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> TransactionalHashCommands<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> TransactionalHashCommands<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> TransactionalGeoCommands<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> TransactionalGeoCommands<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> TransactionalKeyCommands<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> TransactionalSortedSetCommands<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> TransactionalSortedSetCommands<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> TransactionalValueCommands<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> TransactionalValueCommands<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> TransactionalStringCommands<K,V> string(Class<K> redisKeyType, Class<V> valueType)
      Deprecated.
      Use value(Class, Class) instead.
      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> TransactionalStringCommands<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> TransactionalSetCommands<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> TransactionalSetCommands<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> TransactionalListCommands<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> TransactionalListCommands<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> TransactionalHyperLogLogCommands<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> TransactionalHyperLogLogCommands<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> TransactionalBitMapCommands<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> TransactionalStreamCommands<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> TransactionalStreamCommands<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> TransactionalJsonCommands<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> TransactionalBloomCommands<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> TransactionalBloomCommands<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> TransactionalCuckooCommands<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> TransactionalCuckooCommands<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> TransactionalCountMinCommands<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> TransactionalCountMinCommands<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> TransactionalTopKCommands<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> TransactionalTopKCommands<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 TransactionalGraphCommands<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> TransactionalGraphCommands<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> TransactionalSearchCommands 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 TransactionalSearchCommands 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> TransactionalAutoSuggestCommands<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 TransactionalAutoSuggestCommands<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> TransactionalTimeSeriesCommands<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 TransactionalTimeSeriesCommands<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

      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.
    • execute

      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.
    • execute

      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.