Interface RBatch

  • All Known Implementing Classes:
    RedissonBatch

    public interface RBatch
    Interface for using Redis pipeline feature.

    All method invocations on objects got through this interface are batched to separate queue and could be executed later with execute() or executeAsync() methods.

    Author:
    Nikita Koksharov
    • Method Detail

      • getStream

        <K,V> RStreamAsync<K,V> getStream(String name)
        Returns stream instance by name
        Type Parameters:
        K - type of key
        V - type of value
        Parameters:
        name - of stream
        Returns:
        RStream object
      • getStream

        <K,V> RStreamAsync<K,V> getStream(String name,
                                                      Codec codec)
        Returns stream instance by name using provided codec for entries.
        Type Parameters:
        K - type of key
        V - type of value
        Parameters:
        name - - name of stream
        codec - - codec for entry
        Returns:
        RStream object
      • getGeo

        <V> RGeoAsync<V> getGeo(String name)
        Returns geospatial items holder instance by name.
        Type Parameters:
        V - type of object
        Parameters:
        name - - name of object
        Returns:
        Geo object
      • getGeo

        <V> RGeoAsync<V> getGeo(String name,
                                Codec codec)
        Returns geospatial items holder instance by name using provided codec for geospatial members.
        Type Parameters:
        V - type of value
        Parameters:
        name - - name of object
        codec - - codec for value
        Returns:
        Geo object
      • getSetMultimap

        <K,V> RMultimapAsync<K,V> getSetMultimap(String name)
        Returns Set based MultiMap instance by name.
        Type Parameters:
        K - type of key
        V - type of value
        Parameters:
        name - - name of object
        Returns:
        Multimap object
      • getSetMultimap

        <K,V> RMultimapAsync<K,V> getSetMultimap(String name,
                                                             Codec codec)
        Returns Set based MultiMap instance by name using provided codec for both map keys and values.
        Type Parameters:
        K - type of key
        V - type of value
        Parameters:
        name - - name of object
        codec - - provided codec
        Returns:
        Multimap object
      • getSetMultimapCache

        <K,V> RMultimapCacheAsync<K,V> getSetMultimapCache(String name)
        Returns Set based Multimap instance by name. Supports key-entry eviction with a given TTL value.

        If eviction is not required then it's better to use regular map getSetMultimap(String).

        Type Parameters:
        K - type of key
        V - type of value
        Parameters:
        name - - name of object
        Returns:
        SetMultimapCache object
      • getSetMultimapCache

        <K,V> RMultimapCacheAsync<K,V> getSetMultimapCache(String name,
                                                                       Codec codec)
        Returns Set based Multimap instance by name using provided codec for both map keys and values. Supports key-entry eviction with a given TTL value.

        If eviction is not required then it's better to use regular map getSetMultimap(String, Codec).

        Type Parameters:
        K - type of key
        V - type of value
        Parameters:
        name - - name of object
        codec - - provided codec
        Returns:
        SetMultimapCache object
      • getSetCache

        <V> RSetCacheAsync<V> getSetCache(String name)
        Returns set-based cache instance by name. Uses map (value_hash, value) under the hood for minimal memory consumption. Supports value eviction with a given TTL value.

        If eviction is not required then it's better to use regular map getSet(String, Codec).

        Type Parameters:
        V - type of value
        Parameters:
        name - - name of object
        Returns:
        SetCache object
      • getSetCache

        <V> RSetCacheAsync<V> getSetCache(String name,
                                          Codec codec)
        Returns set-based cache instance by name using provided codec for values. Uses map (value_hash, value) under the hood for minimal memory consumption. Supports value eviction with a given TTL value.

        If eviction is not required then it's better to use regular map getSet(String, Codec).

        Type Parameters:
        V - type of value
        Parameters:
        name - - name of object
        codec - - codec for values
        Returns:
        SetCache object
      • getMapCache

        <K,V> RMapCacheAsync<K,V> getMapCache(String name,
                                                          Codec codec)
        Returns map-based cache instance by name using provided codec for both cache keys and values. Supports entry eviction with a given TTL value.

        If eviction is not required then it's better to use regular map getMap(String, Codec).

        Type Parameters:
        K - type of key
        V - type of value
        Parameters:
        name - - name of object
        codec - - codec for keys and values
        Returns:
        MapCache object
      • getMapCache

        <K,V> RMapCacheAsync<K,V> getMapCache(String name)
        Returns map-based cache instance by name. Supports entry eviction with a given TTL value.

        If eviction is not required then it's better to use regular map getMap(String).

        Type Parameters:
        K - type of key
        V - type of value
        Parameters:
        name - - name of object
        Returns:
        MapCache object
      • getBucket

        <V> RBucketAsync<V> getBucket(String name)
        Returns object holder by name
        Type Parameters:
        V - type of object
        Parameters:
        name - - name of object
        Returns:
        Bucket object
      • getHyperLogLog

        <V> RHyperLogLogAsync<V> getHyperLogLog(String name)
        Returns HyperLogLog object
        Type Parameters:
        V - type of object
        Parameters:
        name - - name of object
        Returns:
        HyperLogLog object
      • getList

        <V> RListAsync<V> getList(String name)
        Returns list instance by name.
        Type Parameters:
        V - type of object
        Parameters:
        name - - name of object
        Returns:
        List object
      • getListMultimap

        <K,V> RMultimapAsync<K,V> getListMultimap(String name)
        Returns List based MultiMap instance by name.
        Type Parameters:
        K - type of key
        V - type of value
        Parameters:
        name - - name of object
        Returns:
        ListMultimap object
      • getListMultimap

        <K,V> RMultimapAsync<K,V> getListMultimap(String name,
                                                              Codec codec)
        Returns List based MultiMap instance by name using provided codec for both map keys and values.
        Type Parameters:
        K - type of key
        V - type of value
        Parameters:
        name - - name of object
        codec - - codec for keys and values
        Returns:
        ListMultimap object
      • getListMultimapCache

        <K,V> RMultimapAsync<K,V> getListMultimapCache(String name)
        Returns List based Multimap instance by name. Supports key-entry eviction with a given TTL value.

        If eviction is not required then it's better to use regular map getSetMultimap(String).

        Type Parameters:
        K - type of key
        V - type of value
        Parameters:
        name - - name of object
        Returns:
        ListMultimapCache object
      • getListMultimapCache

        <K,V> RMultimapAsync<K,V> getListMultimapCache(String name,
                                                                   Codec codec)
        Returns List based Multimap instance by name using provided codec for both map keys and values. Supports key-entry eviction with a given TTL value.

        If eviction is not required then it's better to use regular map getSetMultimap(String, Codec).

        Type Parameters:
        K - type of key
        V - type of value
        Parameters:
        name - - name of object
        codec - - codec for keys and values
        Returns:
        ListMultimapCache object
      • getMap

        <K,V> RMapAsync<K,V> getMap(String name)
        Returns map instance by name.
        Type Parameters:
        K - type of key
        V - type of value
        Parameters:
        name - - name of object
        Returns:
        Map object
      • getSet

        <V> RSetAsync<V> getSet(String name)
        Returns set instance by name.
        Type Parameters:
        V - type of value
        Parameters:
        name - - name of object
        Returns:
        Set object
      • getTopic

        RTopicAsync getTopic(String name)
        Returns topic instance by name.
        Parameters:
        name - - name of object
        Returns:
        Topic object
      • getQueue

        <V> RQueueAsync<V> getQueue(String name)
        Returns queue instance by name.
        Type Parameters:
        V - type of value
        Parameters:
        name - - name of object
        Returns:
        Queue object
      • getBlockingQueue

        <V> RBlockingQueueAsync<V> getBlockingQueue(String name)
        Returns blocking queue instance by name.
        Type Parameters:
        V - type of value
        Parameters:
        name - - name of object
        Returns:
        BlockingQueue object
      • getDeque

        <V> RDequeAsync<V> getDeque(String name)
        Returns deque instance by name.
        Type Parameters:
        V - type of value
        Parameters:
        name - - name of object
        Returns:
        Deque object
      • getBlockingDeque

        <V> RBlockingDequeAsync<V> getBlockingDeque(String name)
        Returns blocking deque instance by name.
        Type Parameters:
        V - type of value
        Parameters:
        name - - name of object
        Returns:
        BlockingDeque object
      • getAtomicLong

        RAtomicLongAsync getAtomicLong(String name)
        Returns atomicLong instance by name.
        Parameters:
        name - - name of object
        Returns:
        AtomicLong object
      • getAtomicDouble

        RAtomicDoubleAsync getAtomicDouble(String name)
        Returns atomicDouble instance by name.
        Parameters:
        name - - name of object
        Returns:
        AtomicDouble object
      • getScoredSortedSet

        <V> RScoredSortedSetAsync<V> getScoredSortedSet(String name)
        Returns Redis Sorted Set instance by name
        Type Parameters:
        V - type of value
        Parameters:
        name - - name of object
        Returns:
        ScoredSortedSet object
      • getLexSortedSet

        RLexSortedSetAsync getLexSortedSet(String name)
        Returns String based Redis Sorted Set instance by name All elements are inserted with the same score during addition, in order to force lexicographical ordering
        Parameters:
        name - - name of object
        Returns:
        LexSortedSet object
      • getBitSet

        RBitSetAsync getBitSet(String name)
        Returns bitSet instance by name.
        Parameters:
        name - - name of object
        Returns:
        BitSet object
      • getScript

        RScriptAsync getScript()
        Returns script operations object
        Returns:
        Script object
      • getScript

        RScript getScript(Codec codec)
        Returns script operations object using provided codec.
        Parameters:
        codec - - codec for params and result
        Returns:
        Script object
      • getKeys

        RKeysAsync getKeys()
        Returns keys operations. Each of Redis/Redisson object associated with own key
        Returns:
        Keys object
      • execute

        BatchResult<?> execute()
                        throws RedisException
        Executes all operations accumulated during async methods invocations.

        If cluster configuration used then operations are grouped by slot ids and may be executed on different servers. Thus command execution order could be changed

        Returns:
        List with result object for each command
        Throws:
        RedisException - in case of any error
      • executeAsync

        RFuture<BatchResult<?>> executeAsync()
        Executes all operations accumulated during async methods invocations asynchronously.

        In cluster configurations operations grouped by slot ids so may be executed on different servers. Thus command execution order could be changed

        Returns:
        List with result object for each command
      • discard

        void discard()
        Discard batched commands and release allocated buffers used for parameters encoding.
      • discardAsync

        RFuture<Void> discardAsync()
        Discard batched commands and release allocated buffers used for parameters encoding.
        Returns:
        void