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 Detail

      • 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

        default TransactionalKeyCommands<String> 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

        default TransactionalBitMapCommands<String> 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

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