Interface RStream<K,​V>

    • Method Detail

      • createGroup

        void createGroup​( groupName)
        Creates consumer group by name. Only new messages will be available for consumers of this group.
        Parameters:
        groupName - - name of group
      • createGroup

        void createGroup​( groupName,
                         StreamMessageId id)
        Creates consumer group by name and Stream Message 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 creation StreamMessageId.ALL is used for all messages added before and after the moment of group creation

        Parameters:
        groupName - - name of group
        id - - Stream Message ID
      • removeGroup

        void removeGroup​( groupName)
        Removes group by name.
        Parameters:
        groupName - - name of group
      • createConsumer

        void createConsumer​( 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
      • removeConsumer

        long removeConsumer​( 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
      • updateGroupMessageId

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

        long ack​( groupName,
                 StreamMessageId... ids)
        Marks pending messages by group name and stream ids as correctly processed.
        Parameters:
        groupName - - name of group
        ids - - Stream Message IDs
        Returns:
        marked messages amount
      • getPendingInfo

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

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

        << 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 Message ID
      • fastClaim

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

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

        <,​<< groupName,
                                                                               consumerName,
                                                                              StreamMultiReadGroupArgs args)
        Read stream data from consumer group and multiple streams including current.

        Usage examples:

         Map result = stream.read("group1", "consumer1",  StreamMultiReadGroupArgs.greaterThan(id, "stream2", id2));
         
         Map result = stream.read("group1", "consumer1", StreamMultiReadGroupArgs.greaterThan(id, "stream2", id2)
                                                                                  .count(100)
                                                                                  .timeout(Duration.ofSeconds(5))));
         
        Parameters:
        args - - method arguments object
        Returns:
        stream data mapped by stream name and Stream Message ID
      • readGroup

        << groupName,
                                                             consumerName,
                                                            StreamReadGroupArgs args)
        Read stream data from consumer group and current stream only.

        Usage examples:

         Map result = stream.read("group1", "consumer1",  StreamReadGroupArgs.greaterThan(id));
         
         Map result = stream.read("group1", "consumer1", StreamReadGroupArgs.greaterThan(id)
                                                                                  .count(100)
                                                                                  .timeout(Duration.ofSeconds(5))));
         
        Parameters:
        args - - method arguments object
        Returns:
        stream data mapped by Stream Message ID
      • readGroup

        << groupName,
                                                             consumerName,
                                                            StreamMessageId... ids)
        Deprecated.
      • readGroup

        << groupName,
                                                             consumerName,
                                                            int count,
                                                            StreamMessageId... ids)
        Deprecated.
      • readGroup

        << groupName,
                                                             consumerName,
                                                            long timeout,
                                                             unit,
                                                            StreamMessageId... ids)
        Deprecated.
      • readGroup

        << groupName,
                                                             consumerName,
                                                            int count,
                                                            long timeout,
                                                             unit,
                                                            StreamMessageId... ids)
        Deprecated.
      • size

        long size()
        Returns number of entries in stream
        Returns:
        size of stream
      • add

        StreamMessageId add​(StreamAddArgs<K,​V> args)
        Appends a new entry/entries and returns generated Stream Message ID

        Usage examples:

         StreamMessageId id = stream.add(StreamAddArgs.entry(15, 37));
         
         StreamMessageId id = stream.add(StreamAddArgs.entries(15, 37, 23, 43)
                                         .trim(TrimStrategy.MAXLEN, 100)));
         
        Parameters:
        args - - method arguments object
        Returns:
        Stream Message ID
      • add

        void add​(StreamMessageId id,
                 StreamAddArgs<K,​V> args)
        Appends a new entry/entries by specified Stream Message ID

        Usage examples:

         stream.add(id, StreamAddArgs.entry(15, 37));
         
         stream.add(id, StreamAddArgs.entries(15, 37, 23, 43)
                                         .trim(TrimStrategy.MAXLEN, 100)));
         
        Parameters:
        id - - Stream Message ID
        args - - method arguments object
      • add

        StreamMessageId add​(K key,
                            V value,
                            int trimLen,
                            boolean trimStrict)
        Deprecated.
      • add

        void add​(StreamMessageId id,
                 K key,
                 V value,
                 int trimLen,
                 boolean trimStrict)
        Deprecated.
      • addAll

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

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

        void addAll​(StreamMessageId id,
                    <K,​V> entries,
                    int trimLen,
                    boolean trimStrict)
        Deprecated.
      • read

        <,​<<K,​V>>> read​(StreamMultiReadArgs args)
        Read stream data from multiple streams including current.

        Usage examples:

         Map result = stream.read(StreamMultiReadArgs.greaterThan(id, "stream2", id2));
         
         Map result = stream.read(StreamMultiReadArgs.greaterThan(id, "stream2", id2)
                                         .count(100)
                                         .timeout(Duration.ofSeconds(5))));
         
        Parameters:
        args - - method arguments object
        Returns:
        stream data mapped by stream name and Stream Message ID
      • read

        <<K,​V>> read​(StreamReadArgs args)
        Read stream data from current stream only.

        Usage examples:

         Map result = stream.read(StreamReadArgs.greaterThan(id));
         
         Map result = stream.read(StreamReadArgs.greaterThan(id)
                                         .count(100)
                                         .timeout(Duration.ofSeconds(5))));
         
        Parameters:
        args - - method arguments object
        Returns:
        stream data mapped by Stream Message ID
      • read

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

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

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

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

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

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

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

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

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

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

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

        long trimNonStrict​(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
      • getInfo

        StreamInfo<K,​V> getInfo()
        Returns information about this stream.
        Returns:
        info object
      • listGroups

        <StreamGroup> listGroups()
        Returns list of common info about groups belonging to this stream.
        Returns:
        list of info objects
      • listConsumers

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