Interface RStreamAsync<K,​V>

  • Type Parameters:
    K - key type
    V - value type
    All Superinterfaces:
    RExpirableAsync, RObjectAsync
    All Known Subinterfaces:
    RStream<K,​V>
    All Known Implementing Classes:
    RedissonStream

    public interface RStreamAsync<K,​V>
    extends RExpirableAsync
    Async interface for Redis Stream object.

    Requires Redis 5.0.0 and higher.

    Author:
    Nikita Koksharov
    • Method Detail

      • createGroupAsync

        > createGroupAsync​( groupName)
        Creates consumer group by name.
        Parameters:
        groupName - - name of group
        Returns:
        void
      • createGroupAsync

        > createGroupAsync​( groupName,
                                       StreamMessageId id)
        Creates consumer group by name and stream id. Only new messages after defined stream id will be available for consumers of this group.

        StreamMessageId.NEWEST is used for messages arrived since the moment of group creating

        Parameters:
        groupName - - name of group
        id - - stream id
        Returns:
        void
      • removeGroupAsync

        > removeGroupAsync​( groupName)
        Removes group by name.
        Parameters:
        groupName - - name of group
        Returns:
        void
      • createConsumerAsync

        > createConsumerAsync​( groupName,
                                           consumerName)
        Creates consumer of the group by name.

        Requires Redis 6.2.0 and higher.

        Parameters:
        groupName - - name of group
        consumerName - - name of consumer
      • removeConsumerAsync

        > removeConsumerAsync​( groupName,
                                           consumerName)
        Removes consumer of the group by name.
        Parameters:
        groupName - - name of group
        consumerName - - name of consumer
        Returns:
        number of pending messages owned by consumer
      • updateGroupMessageIdAsync

        > updateGroupMessageIdAsync​( groupName,
                                                StreamMessageId id)
        Updates next message id delivered to consumers.
        Parameters:
        groupName - - name of group
        id - - Stream Message ID
        Returns:
        void
      • ackAsync

        > ackAsync​( groupName,
                               StreamMessageId... ids)
        Marks pending messages by group name and stream ids as correctly processed.
        Parameters:
        groupName - - name of group
        ids - - stream ids
        Returns:
        marked messages amount
      • getPendingInfoAsync

         groupName)
        Returns common info about pending messages by group name.
        Parameters:
        groupName - - name of group
        Returns:
        result object
      • autoClaimAsync

         groupName,
                                                            consumerName,
                                                           long idleTime,
                                                            idleTimeUnit,
                                                           StreamMessageId startId,
                                                           int count)
        Transfers ownership of pending messages by id to a new consumer by name if idle time of messages and startId are greater than defined value.
        Parameters:
        groupName - - name of group
        consumerName - - name of consumer
        idleTime - - minimum idle time of messages
        idleTimeUnit - - idle time unit
        startId - - start Stream Message ID
        Returns:
        stream data mapped by Stream ID
      • fastAutoClaimAsync

         groupName,
                                                         consumerName,
                                                        long idleTime,
                                                         idleTimeUnit,
                                                        StreamMessageId startId,
                                                        int count)
        Transfers ownership of pending messages by id to a new consumer by name if idle time of messages and startId are greater than defined value.
        Parameters:
        groupName - - name of group
        consumerName - - name of consumer
        idleTime - - minimum idle time of messages
        idleTimeUnit - - idle time unit
        startId - - start Stream Message ID
        Returns:
        list of Stream Message IDs
      • claimAsync

        << groupName,
                                                                       consumerName,
                                                                      long idleTime,
                                                                       idleTimeUnit,
                                                                      StreamMessageId... ids)
        Transfers ownership of pending messages by id to a new consumer by name if idle time of messages is greater than defined value.
        Parameters:
        groupName - - name of group
        consumerName - - name of consumer
        idleTime - - minimum idle time of messages
        idleTimeUnit - - idle time unit
        ids - - Stream Message IDs
        Returns:
        stream data mapped by Stream ID
      • fastClaimAsync

        < groupName,
                                                       consumerName,
                                                      long idleTime,
                                                       idleTimeUnit,
                                                      StreamMessageId... ids)
        Transfers ownership of pending messages by id to a new consumer by name if idle time of messages is greater than defined value.
        Parameters:
        groupName - - name of group
        consumerName - - name of consumer
        idleTime - - minimum idle time of messages
        idleTimeUnit - - idle time unit
        ids - - Stream Message IDs
        Returns:
        list of Stream Message IDs
      • readGroupAsync

        <,​<< groupName,
                                                                                             consumerName,
                                                                                            StreamMultiReadGroupArgs args)
        Read stream data from consumer group and multiple streams including current.
        Parameters:
        args - - method arguments object
        Returns:
        stream data mapped by stream name and Stream Message ID
      • readGroupAsync

        << groupName,
                                                                           consumerName,
                                                                          StreamReadGroupArgs args)
        Read stream data from consumer group and current stream only.
        Parameters:
        args - - method arguments object
        Returns:
        stream data mapped by Stream Message ID
      • readGroupAsync

        << groupName,
                                                                           consumerName,
                                                                          StreamMessageId... ids)
        Read stream data from groupName by consumerName and specified collection of Stream IDs.
        Parameters:
        groupName - - name of group
        consumerName - - name of consumer
        ids - - collection of Stream IDs
        Returns:
        stream data mapped by Stream ID
      • readGroupAsync

        << groupName,
                                                                           consumerName,
                                                                          int count,
                                                                          StreamMessageId... ids)
        Read stream data from groupName by consumerName and specified collection of Stream IDs.
        Parameters:
        groupName - - name of group
        consumerName - - name of consumer
        count - - stream data size limit
        ids - - collection of Stream IDs
        Returns:
        stream data mapped by Stream ID
      • readGroupAsync

        << groupName,
                                                                           consumerName,
                                                                          long timeout,
                                                                           unit,
                                                                          StreamMessageId... ids)
        Read stream data from groupName by consumerName and specified collection of Stream IDs. Wait for stream data availability for specified timeout interval.
        Parameters:
        groupName - - name of group
        consumerName - - name of consumer
        timeout - - time interval to wait for stream data availability
        unit - - time interval unit
        ids - - collection of Stream IDs
        Returns:
        stream data mapped by Stream ID
      • readGroupAsync

        << groupName,
                                                                           consumerName,
                                                                          int count,
                                                                          long timeout,
                                                                           unit,
                                                                          StreamMessageId... ids)
        Read stream data from groupName by consumerName and specified collection of Stream IDs. Wait for stream data availability for specified timeout interval.
        Parameters:
        groupName - - name of group
        consumerName - - name of consumer
        count - - stream data size limit
        timeout - - time interval to wait for stream data availability
        unit - - time interval unit
        ids - - collection of Stream IDs
        Returns:
        stream data mapped by Stream ID
      • readGroupAsync

        <,​<< groupName,
                                                                                             consumerName,
                                                                                            StreamMessageId id,
                                                                                            <,​StreamMessageId> nameToId)
        Read stream data from groupName by consumerName, starting by specified message ids for this and other streams.
        Parameters:
        groupName - - name of group
        consumerName - - name of consumer
        id - - starting message id for this stream
        nameToId - - Stream Message ID mapped by stream name
        Returns:
        stream data mapped by key and Stream Message ID
      • readGroupAsync

        <,​<< groupName,
                                                                                             consumerName,
                                                                                            int count,
                                                                                            StreamMessageId id,
                                                                                            <,​StreamMessageId> nameToId)
        Read stream data from groupName by consumerName, starting by specified message ids for this and other streams.
        Parameters:
        groupName - - name of group
        consumerName - - name of consumer
        count - - stream data size limit
        id - - starting message id for this stream
        nameToId - - Stream Message ID mapped by stream name
        Returns:
        stream data mapped by key and Stream Message ID
      • readGroupAsync

        <,​<< groupName,
                                                                                             consumerName,
                                                                                            int count,
                                                                                            long timeout,
                                                                                             unit,
                                                                                            StreamMessageId id,
                                                                                             key2,
                                                                                            StreamMessageId id2)
        Read stream data from groupName by consumerName, starting by specified message ids for this and other streams. Waits for the first stream data availability for specified timeout interval.
        Parameters:
        groupName - - name of group
        consumerName - - name of consumer
        count - - stream data size limit
        timeout - - time interval to wait for stream data availability
        unit - - time interval unit
        id - - starting message id for this stream
        key2 - - name of second stream
        id2 - - starting message id for second stream
        Returns:
        stream data mapped by key and Stream Message ID
      • readGroupAsync

        <,​<< groupName,
                                                                                             consumerName,
                                                                                            int count,
                                                                                            long timeout,
                                                                                             unit,
                                                                                            StreamMessageId id,
                                                                                             key2,
                                                                                            StreamMessageId id2,
                                                                                             key3,
                                                                                            StreamMessageId id3)
        Read stream data from groupName by consumerName, starting by specified message ids for this and other streams. Waits for the first stream data availability for specified timeout interval.
        Parameters:
        groupName - - name of group
        consumerName - - name of consumer
        count - - stream data size limit
        timeout - - time interval to wait for stream data availability
        unit - - time interval unit
        id - - starting message id for this stream
        key2 - - name of second stream
        id2 - - starting message id for second stream
        key3 - - name of third stream
        id3 - - starting message id for third stream
        Returns:
        stream data mapped by key and Stream Message ID
      • readGroupAsync

        <,​<< groupName,
                                                                                             consumerName,
                                                                                            long timeout,
                                                                                             unit,
                                                                                            StreamMessageId id,
                                                                                            <,​StreamMessageId> nameToId)
        Read stream data from groupName by consumerName, starting by specified message ids for this and other streams. Waits for the first stream data availability for specified timeout interval.
        Parameters:
        groupName - - name of group
        consumerName - - name of consumer
        timeout - - time interval to wait for stream data availability
        unit - - time interval unit
        id - - starting message id for this stream
        nameToId - - Stream Message ID mapped by stream name
        Returns:
        stream data mapped by key and Stream Message ID
      • readGroupAsync

        <,​<< groupName,
                                                                                             consumerName,
                                                                                            StreamMessageId id,
                                                                                             key2,
                                                                                            StreamMessageId id2)
        Read stream data from groupName by consumerName, starting by specified message ids for this and other streams.
        Parameters:
        groupName - - name of group
        consumerName - - name of consumer
        id - - starting message id for this stream
        key2 - - name of second stream
        id2 - - starting message id for second stream
        Returns:
        stream data mapped by key and Stream Message ID
      • readGroupAsync

        <,​<< groupName,
                                                                                             consumerName,
                                                                                            StreamMessageId id,
                                                                                             key2,
                                                                                            StreamMessageId id2,
                                                                                             key3,
                                                                                            StreamMessageId id3)
        Read stream data from groupName by consumerName, starting by specified message ids for this and other streams.
        Parameters:
        groupName - - name of group
        consumerName - - name of consumer
        id - - starting message id for this stream
        key2 - - name of second stream
        id2 - - starting message id for second stream
        key3 - - name of third stream
        id3 - - starting message id for third stream
        Returns:
        stream data mapped by key and Stream Message ID
      • readGroupAsync

        <,​<< groupName,
                                                                                             consumerName,
                                                                                            int count,
                                                                                            StreamMessageId id,
                                                                                             key2,
                                                                                            StreamMessageId id2)
        Read stream data from groupName by consumerName, starting by specified message ids for this and other streams.
        Parameters:
        groupName - - name of group
        consumerName - - name of consumer
        count - - stream data size limit
        id - - starting message id for this stream
        key2 - - name of second stream
        id2 - - starting message id for second stream
        Returns:
        stream data mapped by key and Stream Message ID
      • readGroupAsync

        <,​<< groupName,
                                                                                             consumerName,
                                                                                            int count,
                                                                                            StreamMessageId id,
                                                                                             key2,
                                                                                            StreamMessageId id2,
                                                                                             key3,
                                                                                            StreamMessageId id3)
        Read stream data from groupName by consumerName, starting by specified message ids for this and other streams.
        Parameters:
        groupName - - name of group
        consumerName - - name of consumer
        count - - stream data size limit
        id - - starting message id for this stream
        key2 - - name of second stream
        id2 - - starting message id for second stream
        key3 - - name of third stream
        id3 - - starting message id for third stream
        Returns:
        stream data mapped by key and Stream Message ID
      • readGroupAsync

        <,​<< groupName,
                                                                                             consumerName,
                                                                                            long timeout,
                                                                                             unit,
                                                                                            StreamMessageId id,
                                                                                             key2,
                                                                                            StreamMessageId id2)
        Read stream data from groupName by consumerName, starting by specified message ids for this and other streams. Waits for the first stream data availability for specified timeout interval.
        Parameters:
        groupName - - name of group
        consumerName - - name of consumer
        timeout - - time interval to wait for stream data availability
        unit - - time interval unit
        id - - starting message id for this stream
        key2 - - name of second stream
        id2 - - starting message id for second stream
        Returns:
        stream data mapped by key and Stream Message ID
      • readGroupAsync

        <,​<< groupName,
                                                                                             consumerName,
                                                                                            long timeout,
                                                                                             unit,
                                                                                            StreamMessageId id,
                                                                                             key2,
                                                                                            StreamMessageId id2,
                                                                                             key3,
                                                                                            StreamMessageId id3)
        Read stream data from groupName by consumerName, starting by specified message ids for this and other streams. Waits for the first stream data availability for specified timeout interval.
        Parameters:
        groupName - - name of group
        consumerName - - name of consumer
        timeout - - time interval to wait for stream data availability
        unit - - time interval unit
        id - - starting message id for this stream
        key2 - - name of second stream
        id2 - - starting message id for second stream
        key3 - - name of third stream
        id3 - - starting message id for third stream
        Returns:
        stream data mapped by key and Stream Message ID
      • sizeAsync

        > sizeAsync()
        Returns number of entries in stream
        Returns:
        size of stream
      • addAsync

        RFuture<StreamMessageId> addAsync​(StreamAddArgs<K,​V> args)
        Appends a new entry/entries and returns generated Stream Message ID
        Parameters:
        args - - method arguments object
        Returns:
        Stream Message ID
      • addAsync

        > addAsync​(StreamMessageId id,
                               StreamAddArgs<K,​V> args)
        Appends a new entry/entries by specified Stream Message ID
        Parameters:
        id - - Stream Message ID
        args - - method arguments object
      • addAsync

        > addAsync​(StreamMessageId id,
                               K key,
                               V value,
                               int trimLen,
                               boolean trimStrict)
        Deprecated.
      • addAllAsync

        <K,​V> entries)
        Deprecated.
      • addAllAsync

        <K,​V> entries,
                                             int trimLen,
                                             boolean trimStrict)
        Deprecated.
      • addAllAsync

        > addAllAsync​(StreamMessageId id,
                                  <K,​V> entries,
                                  int trimLen,
                                  boolean trimStrict)
        Deprecated.
      • readAsync

        <,​<<K,​V>>>> readAsync​(StreamMultiReadArgs args)
        Read stream data from multiple streams including current.
        Parameters:
        args - - method arguments object
        Returns:
        stream data mapped by stream name and Stream Message ID
      • readAsync

        <<K,​V>>> readAsync​(StreamReadArgs args)
        Read stream data from current stream only.
        Parameters:
        args - - method arguments object
        Returns:
        stream data mapped by Stream Message ID
      • readAsync

        <<K,​V>>> readAsync​(int count,
                                                                     StreamMessageId... ids)
        Deprecated.
      • readAsync

        <<K,​V>>> readAsync​(long timeout,
                                                                      unit,
                                                                     StreamMessageId... ids)
        Deprecated.
      • readAsync

        <<K,​V>>> readAsync​(int count,
                                                                     long timeout,
                                                                      unit,
                                                                     StreamMessageId... ids)
        Deprecated.
      • rangeAsync

        <<K,​V>>> rangeAsync​(StreamMessageId startId,
                                                                      StreamMessageId endId)
        Returns stream data in range by specified start Stream ID (included) and end Stream ID (included).
        Parameters:
        startId - - start Stream ID
        endId - - end Stream ID
        Returns:
        stream data mapped by Stream ID
      • rangeAsync

        <<K,​V>>> rangeAsync​(int count,
                                                                      StreamMessageId startId,
                                                                      StreamMessageId endId)
        Returns stream data in range by specified start Stream ID (included) and end Stream ID (included).
        Parameters:
        count - - stream data size limit
        startId - - start Stream ID
        endId - - end Stream ID
        Returns:
        stream data mapped by Stream ID
      • rangeReversedAsync

        <<K,​V>>> rangeReversedAsync​(StreamMessageId startId,
                                                                              StreamMessageId endId)
        Returns stream data in reverse order in range by specified start Stream ID (included) and end Stream ID (included).
        Parameters:
        startId - - start Stream ID
        endId - - end Stream ID
        Returns:
        stream data mapped by Stream ID
      • rangeReversedAsync

        <<K,​V>>> rangeReversedAsync​(int count,
                                                                              StreamMessageId startId,
                                                                              StreamMessageId endId)
        Returns stream data in reverse order in range by specified start Stream ID (included) and end Stream ID (included).
        Parameters:
        count - - stream data size limit
        startId - - start Stream ID
        endId - - end Stream ID
        Returns:
        stream data mapped by Stream ID
      • removeAsync

        > removeAsync​(StreamMessageId... ids)
        Removes messages by id.
        Parameters:
        ids - - id of messages to remove
        Returns:
        deleted messages amount
      • trimAsync

        > trimAsync​(int size)
        Trims stream using MAXLEN strategy to specified size
        Parameters:
        size - - new size of stream
        Returns:
        number of deleted messages
      • trimAsync

        > trimAsync​(TrimStrategy strategy,
                                int threshold)
        Trims stream to specified size
        Parameters:
        strategy - - trim strategy
        threshold - - new size of stream
        Returns:
        number of deleted messages
      • trimNonStrictAsync

        > trimNonStrictAsync​(int size)
        Trims stream using MAXLEN strategy to almost exact trimming threshold.
        Parameters:
        size - - new size of stream
        Returns:
        number of deleted messages
      • trimNonStrictAsync

        > trimNonStrictAsync​(TrimStrategy strategy,
                                         int threshold)
        Trims stream using almost exact trimming threshold.
        Parameters:
        strategy - - trim strategy
        threshold - - trim threshold
        Returns:
        number of deleted messages
      • trimNonStrictAsync

        > trimNonStrictAsync​(TrimStrategy strategy,
                                         int threshold,
                                         int limit)
        Trims stream using almost exact trimming threshold up to limit.
        Parameters:
        strategy - - trim strategy
        threshold - - trim threshold
        limit - - trim limit
        Returns:
        number of deleted messages
      • getInfoAsync

        RFuture<StreamInfo<K,​V>> getInfoAsync()
        Returns information about this stream.
        Returns:
        info object
      • listGroupsAsync

        <StreamGroup>> listGroupsAsync()
        Returns list of objects with information about groups belonging to this stream.
        Returns:
        list of info objects
      • listConsumersAsync

        < groupName)
        Returns list of objects with information about group customers for specified groupName.
        Parameters:
        groupName - - name of group
        Returns:
        list of info objects