Package org.redisson.api
Interface RStreamReactive<K,V>
-
- Type Parameters:
K
- key typeV
- value type
- All Superinterfaces:
RExpirableReactive
,RObjectReactive
public interface RStreamReactive<K,V> extends RExpirableReactive
Reactive interface for Redis Stream object.Requires Redis 5.0.0 and higher.
- Author:
- Nikita Koksharov
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description org.reactivestreams.Publisher<Long>
ack(String groupName, StreamId... ids)
Marks pending messages by group name and streamids
as correctly processed.org.reactivestreams.Publisher<StreamId>
add(K key, V value)
Appends a new entry and returns generated Stream IDorg.reactivestreams.Publisher<StreamId>
add(K key, V value, int trimLen, boolean trimStrict)
Appends a new entry and returns generated Stream ID.org.reactivestreams.Publisher<Void>
add(StreamId id, K key, V value)
Appends a new entry by specified Stream IDorg.reactivestreams.Publisher<Void>
add(StreamId id, K key, V value, int trimLen, boolean trimStrict)
Appends a new entry by specified Stream ID.org.reactivestreams.Publisher<StreamId>
addAll(Map<K,V> entries)
Appends new entries and returns generated Stream IDorg.reactivestreams.Publisher<StreamId>
addAll(Map<K,V> entries, int trimLen, boolean trimStrict)
Appends new entries and returns generated Stream ID.org.reactivestreams.Publisher<Void>
addAll(StreamId id, Map<K,V> entries)
Appends new entries by specified Stream IDorg.reactivestreams.Publisher<Void>
addAll(StreamId id, Map<K,V> entries, int trimLen, boolean trimStrict)
Appends new entries by specified Stream ID.org.reactivestreams.Publisher<Map<StreamId,Map<K,V>>>
claim(String groupName, String consumerName, long idleTime, TimeUnit idleTimeUnit, StreamId... ids)
Transfers ownership of pending messages by id to a new consumer by name if idle time of messages is greater than defined value.org.reactivestreams.Publisher<Void>
createGroup(String groupName)
Creates consumer group by name.org.reactivestreams.Publisher<Void>
createGroup(String groupName, StreamId id)
Creates consumer group by name and stream id.org.reactivestreams.Publisher<PendingResult>
listPending(String groupName)
Returns pending messages by group nameorg.reactivestreams.Publisher<List<PendingEntry>>
listPending(String groupName, StreamId startId, StreamId endId, int count)
Returns list of pending messages by group name.org.reactivestreams.Publisher<List<PendingEntry>>
listPending(String groupName, StreamId startId, StreamId endId, int count, String consumerName)
Returns list of pending messages by group name and consumer name.org.reactivestreams.Publisher<Map<StreamId,Map<K,V>>>
range(int count, StreamId startId, StreamId endId)
Read stream data in range by specified start Stream ID (included) and end Stream ID (included).org.reactivestreams.Publisher<Map<StreamId,Map<K,V>>>
range(StreamId startId, StreamId endId)
Read stream data in range by specified start Stream ID (included) and end Stream ID (included).org.reactivestreams.Publisher<Map<StreamId,Map<K,V>>>
rangeReversed(int count, StreamId startId, StreamId endId)
Read stream data in reverse order in range by specified start Stream ID (included) and end Stream ID (included).org.reactivestreams.Publisher<Map<StreamId,Map<K,V>>>
rangeReversed(StreamId startId, StreamId endId)
Read stream data in reverse order in range by specified start Stream ID (included) and end Stream ID (included).org.reactivestreams.Publisher<Map<StreamId,Map<K,V>>>
read(int count, long timeout, TimeUnit unit, StreamId... ids)
Read stream data by specified collection of Stream IDs.org.reactivestreams.Publisher<Map<String,Map<StreamId,Map<K,V>>>>
read(int count, long timeout, TimeUnit unit, StreamId id, String name2, StreamId id2)
Read stream data by specified stream name including this stream.org.reactivestreams.Publisher<Map<String,Map<StreamId,Map<K,V>>>>
read(int count, long timeout, TimeUnit unit, StreamId id, String name2, StreamId id2, String name3, StreamId id3)
Read stream data by specified stream names including this stream.org.reactivestreams.Publisher<Map<String,Map<StreamId,Map<K,V>>>>
read(int count, long timeout, TimeUnit unit, StreamId id, Map<String,StreamId> nameToId)
Read stream data by specified stream id mapped by name including this stream.org.reactivestreams.Publisher<Map<StreamId,Map<K,V>>>
read(int count, StreamId... ids)
Read stream data by specified collection of Stream IDs.org.reactivestreams.Publisher<Map<String,Map<StreamId,Map<K,V>>>>
read(int count, StreamId id, String name2, StreamId id2)
Read stream data by specified stream name including this stream.org.reactivestreams.Publisher<Map<String,Map<StreamId,Map<K,V>>>>
read(int count, StreamId id, String name2, StreamId id2, String name3, StreamId id3)
Read stream data by specified stream names including this stream.org.reactivestreams.Publisher<Map<String,Map<StreamId,Map<K,V>>>>
read(int count, StreamId id, Map<String,StreamId> nameToId)
Read stream data by specified stream id mapped by name including this stream.org.reactivestreams.Publisher<Map<StreamId,Map<K,V>>>
read(long timeout, TimeUnit unit, StreamId... ids)
Read stream data by specified collection of Stream IDs.org.reactivestreams.Publisher<Map<String,Map<StreamId,Map<K,V>>>>
read(long timeout, TimeUnit unit, StreamId id, String name2, StreamId id2)
Read stream data by specified stream name including this stream.org.reactivestreams.Publisher<Map<String,Map<StreamId,Map<K,V>>>>
read(long timeout, TimeUnit unit, StreamId id, String name2, StreamId id2, String name3, StreamId id3)
Read stream data by specified stream names including this stream.org.reactivestreams.Publisher<Map<String,Map<StreamId,Map<K,V>>>>
read(long timeout, TimeUnit unit, StreamId id, Map<String,StreamId> nameToId)
Read stream data by specified stream id mapped by name including this stream.org.reactivestreams.Publisher<Map<StreamId,Map<K,V>>>
read(StreamId... ids)
Read stream data by specified collection of Stream IDs.org.reactivestreams.Publisher<Map<String,Map<StreamId,Map<K,V>>>>
read(StreamId id, String name2, StreamId id2)
Read stream data by specified stream name including this stream.org.reactivestreams.Publisher<Map<String,Map<StreamId,Map<K,V>>>>
read(StreamId id, String name2, StreamId id2, String name3, StreamId id3)
Read stream data by specified stream names including this stream.org.reactivestreams.Publisher<Map<String,Map<StreamId,Map<K,V>>>>
read(StreamId id, Map<String,StreamId> nameToId)
Read stream data by specified stream id mapped by name including this stream.org.reactivestreams.Publisher<Map<StreamId,Map<K,V>>>
readGroup(String groupName, String consumerName, int count, long timeout, TimeUnit unit, StreamId... ids)
Read stream data fromgroupName
byconsumerName
and specified collection of Stream IDs.org.reactivestreams.Publisher<Map<StreamId,Map<K,V>>>
readGroup(String groupName, String consumerName, int count, StreamId... ids)
Read stream data fromgroupName
byconsumerName
and specified collection of Stream IDs.org.reactivestreams.Publisher<Map<StreamId,Map<K,V>>>
readGroup(String groupName, String consumerName, long timeout, TimeUnit unit, StreamId... ids)
Read stream data fromgroupName
byconsumerName
and specified collection of Stream IDs.org.reactivestreams.Publisher<Map<StreamId,Map<K,V>>>
readGroup(String groupName, String consumerName, StreamId... ids)
Read stream data fromgroupName
byconsumerName
and specified collection of Stream IDs.org.reactivestreams.Publisher<Long>
size()
Returns number of entries in stream-
Methods inherited from interface org.redisson.api.RExpirableReactive
clearExpire, expire, expireAt, expireAt, remainTimeToLive
-
-
-
-
Method Detail
-
createGroup
org.reactivestreams.Publisher<Void> createGroup(String groupName)
Creates consumer group by name.- Parameters:
groupName
- - name of group- Returns:
- void
-
createGroup
org.reactivestreams.Publisher<Void> createGroup(String groupName, StreamId id)
Creates consumer group by name and stream id. Only new messages after defined streamid
will be available for consumers of this group.StreamId.NEWEST
is used for messages arrived since the moment of group creating- Parameters:
groupName
- - name of group- Returns:
- void
-
ack
org.reactivestreams.Publisher<Long> ack(String groupName, StreamId... ids)
Marks pending messages by group name and streamids
as correctly processed.- Parameters:
groupName
- - name of groupids
- - stream ids- Returns:
- marked messages amount
-
listPending
org.reactivestreams.Publisher<PendingResult> listPending(String groupName)
Returns pending messages by group name- Parameters:
groupName
- - name of group- Returns:
- result object
-
listPending
org.reactivestreams.Publisher<List<PendingEntry>> listPending(String groupName, StreamId startId, StreamId endId, int count)
Returns list of pending messages by group name. Limited by start stream id and end stream id and count.StreamId.MAX
is used as max stream idStreamId.MIN
is used as min stream id- Parameters:
groupName
- - name of groupstartId
- - start stream idendId
- - end stream idcount
- - amount of messages- Returns:
- list
-
listPending
org.reactivestreams.Publisher<List<PendingEntry>> listPending(String groupName, StreamId startId, StreamId endId, int count, String consumerName)
Returns list of pending messages by group name and consumer name. Limited by start stream id and end stream id and count.StreamId.MAX
is used as max stream idStreamId.MIN
is used as min stream id- Parameters:
consumerName
- - name of consumergroupName
- - name of groupstartId
- - start stream idendId
- - end stream idcount
- - amount of messages- Returns:
- list
-
claim
org.reactivestreams.Publisher<Map<StreamId,Map<K,V>>> claim(String groupName, String consumerName, long idleTime, TimeUnit idleTimeUnit, StreamId... 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 groupconsumerName
- - name of consumeridleTime
- - minimum idle time of messagesidleTimeUnit
- - idle time unitids
- - stream ids- Returns:
-
readGroup
org.reactivestreams.Publisher<Map<StreamId,Map<K,V>>> readGroup(String groupName, String consumerName, StreamId... ids)
Read stream data fromgroupName
byconsumerName
and specified collection of Stream IDs.- Parameters:
ids
- - collection of Stream IDs- Returns:
- stream data mapped by Stream ID
-
readGroup
org.reactivestreams.Publisher<Map<StreamId,Map<K,V>>> readGroup(String groupName, String consumerName, int count, StreamId... ids)
Read stream data fromgroupName
byconsumerName
and specified collection of Stream IDs.- Parameters:
count
- - stream data size limitids
- - collection of Stream IDs- Returns:
- stream data mapped by Stream ID
-
readGroup
org.reactivestreams.Publisher<Map<StreamId,Map<K,V>>> readGroup(String groupName, String consumerName, long timeout, TimeUnit unit, StreamId... ids)
Read stream data fromgroupName
byconsumerName
and specified collection of Stream IDs. Wait for stream data availability for specifiedtimeout
interval.- Parameters:
timeout
- - time interval to wait for stream data availabilityunit
- - time interval unitids
- - collection of Stream IDs- Returns:
- stream data mapped by Stream ID
-
readGroup
org.reactivestreams.Publisher<Map<StreamId,Map<K,V>>> readGroup(String groupName, String consumerName, int count, long timeout, TimeUnit unit, StreamId... ids)
Read stream data fromgroupName
byconsumerName
and specified collection of Stream IDs. Wait for stream data availability for specifiedtimeout
interval.- Parameters:
count
- - stream data size limittimeout
- - time interval to wait for stream data availabilityunit
- - time interval unitids
- - collection of Stream IDs- Returns:
- stream data mapped by Stream ID
-
size
org.reactivestreams.Publisher<Long> size()
Returns number of entries in stream- Returns:
- size of stream
-
add
org.reactivestreams.Publisher<StreamId> add(K key, V value)
Appends a new entry and returns generated Stream ID- Parameters:
key
- - key of entryvalue
- - value of entry- Returns:
- Stream ID
-
add
org.reactivestreams.Publisher<Void> add(StreamId id, K key, V value)
Appends a new entry by specified Stream ID- Parameters:
id
- - Stream IDkey
- - key of entryvalue
- - value of entry- Returns:
- void
-
add
org.reactivestreams.Publisher<StreamId> add(K key, V value, int trimLen, boolean trimStrict)
Appends a new entry and returns generated Stream ID. Trims stream to a specifiedtrimLen
size. IftrimStrict
isfalse
then trims to few tens of entries more than specified length to trim.- Parameters:
key
- - key of entryvalue
- - value of entrytrimLen
- - length to trimtrimStrict
- - iffalse
then trims to few tens of entries more than specified length to trim- Returns:
- Stream ID
-
add
org.reactivestreams.Publisher<Void> add(StreamId id, K key, V value, int trimLen, boolean trimStrict)
Appends a new entry by specified Stream ID. Trims stream to a specifiedtrimLen
size. IftrimStrict
isfalse
then trims to few tens of entries more than specified length to trim.- Parameters:
id
- - Stream IDkey
- - key of entryvalue
- - value of entrytrimLen
- - length to trimtrimStrict
- - iffalse
then trims to few tens of entries more than specified length to trim- Returns:
- void
-
addAll
org.reactivestreams.Publisher<StreamId> addAll(Map<K,V> entries)
Appends new entries and returns generated Stream ID- Parameters:
entries
- - entries to add- Returns:
- Stream ID
-
addAll
org.reactivestreams.Publisher<Void> addAll(StreamId id, Map<K,V> entries)
Appends new entries by specified Stream ID- Parameters:
id
- - Stream IDentries
- - entries to add- Returns:
- void
-
addAll
org.reactivestreams.Publisher<StreamId> addAll(Map<K,V> entries, int trimLen, boolean trimStrict)
Appends new entries and returns generated Stream ID. Trims stream to a specifiedtrimLen
size. IftrimStrict
isfalse
then trims to few tens of entries more than specified length to trim.- Parameters:
entries
- - entries to addtrimLen
- - length to trimtrimStrict
- - iffalse
then trims to few tens of entries more than specified length to trim- Returns:
- Stream ID
-
addAll
org.reactivestreams.Publisher<Void> addAll(StreamId id, Map<K,V> entries, int trimLen, boolean trimStrict)
Appends new entries by specified Stream ID. Trims stream to a specifiedtrimLen
size. IftrimStrict
isfalse
then trims to few tens of entries more than specified length to trim.- Parameters:
id
- - Stream IDentries
- - entries to addtrimLen
- - length to trimtrimStrict
- - iffalse
then trims to few tens of entries more than specified length to trim- Returns:
- void
-
read
org.reactivestreams.Publisher<Map<StreamId,Map<K,V>>> read(StreamId... ids)
Read stream data by specified collection of Stream IDs.- Parameters:
ids
- - collection of Stream IDs- Returns:
- stream data mapped by Stream ID
-
read
org.reactivestreams.Publisher<Map<StreamId,Map<K,V>>> read(int count, StreamId... ids)
Read stream data by specified collection of Stream IDs.- Parameters:
count
- - stream data size limitids
- - collection of Stream IDs- Returns:
- stream data mapped by Stream ID
-
read
org.reactivestreams.Publisher<Map<StreamId,Map<K,V>>> read(long timeout, TimeUnit unit, StreamId... ids)
Read stream data by specified collection of Stream IDs. Wait for stream data availability for specifiedtimeout
interval.- Parameters:
timeout
- - time interval to wait for stream data availabilityunit
- - time interval unitids
- - collection of Stream IDs- Returns:
- stream data mapped by Stream ID
-
read
org.reactivestreams.Publisher<Map<StreamId,Map<K,V>>> read(int count, long timeout, TimeUnit unit, StreamId... ids)
Read stream data by specified collection of Stream IDs. Wait for stream data availability for specifiedtimeout
interval.- Parameters:
count
- - stream data size limittimeout
- - time interval to wait for stream data availabilityunit
- - time interval unitids
- - collection of Stream IDs- Returns:
- stream data mapped by Stream ID
-
read
org.reactivestreams.Publisher<Map<String,Map<StreamId,Map<K,V>>>> read(StreamId id, String name2, StreamId id2)
Read stream data by specified stream name including this stream.- Parameters:
id
- - id of this streamname2
- - name of second streamid2
- - id of second stream- Returns:
- stream data mapped by key and Stream ID
-
read
org.reactivestreams.Publisher<Map<String,Map<StreamId,Map<K,V>>>> read(StreamId id, String name2, StreamId id2, String name3, StreamId id3)
Read stream data by specified stream names including this stream.- Parameters:
id
- - id of this streamname2
- - name of second streamid2
- - id of second streamname3
- - name of third streamid3
- - id of third stream- Returns:
- stream data mapped by key and Stream ID
-
read
org.reactivestreams.Publisher<Map<String,Map<StreamId,Map<K,V>>>> read(StreamId id, Map<String,StreamId> nameToId)
Read stream data by specified stream id mapped by name including this stream.- Parameters:
id
- - id of this streamnameToId
- - stream id mapped by name- Returns:
- stream data mapped by key and Stream ID
-
read
org.reactivestreams.Publisher<Map<String,Map<StreamId,Map<K,V>>>> read(int count, StreamId id, String name2, StreamId id2)
Read stream data by specified stream name including this stream.- Parameters:
count
- - stream data size limitid
- - id of this streamname2
- - name of second streamid2
- - id of second stream- Returns:
- stream data mapped by key and Stream ID
-
read
org.reactivestreams.Publisher<Map<String,Map<StreamId,Map<K,V>>>> read(int count, StreamId id, String name2, StreamId id2, String name3, StreamId id3)
Read stream data by specified stream names including this stream.- Parameters:
count
- - stream data size limitid
- - id of this streamname2
- - name of second streamid2
- - id of second streamname3
- - name of third streamid3
- - id of third stream- Returns:
- stream data mapped by key and Stream ID
-
read
org.reactivestreams.Publisher<Map<String,Map<StreamId,Map<K,V>>>> read(int count, StreamId id, Map<String,StreamId> nameToId)
Read stream data by specified stream id mapped by name including this stream.- Parameters:
count
- - stream data size limitid
- - id of this streamnameToId
- - stream id mapped by name- Returns:
- stream data mapped by key and Stream ID
-
read
org.reactivestreams.Publisher<Map<String,Map<StreamId,Map<K,V>>>> read(long timeout, TimeUnit unit, StreamId id, String name2, StreamId id2)
Read stream data by specified stream name including this stream. Wait for the first stream data availability for specifiedtimeout
interval.- Parameters:
timeout
- - time interval to wait for stream data availabilityunit
- - time interval unitid
- - id of this streamname2
- - name of second streamid2
- - id of second stream- Returns:
- stream data mapped by key and Stream ID
-
read
org.reactivestreams.Publisher<Map<String,Map<StreamId,Map<K,V>>>> read(long timeout, TimeUnit unit, StreamId id, String name2, StreamId id2, String name3, StreamId id3)
Read stream data by specified stream names including this stream. Wait for the first stream data availability for specifiedtimeout
interval.- Parameters:
timeout
- - time interval to wait for stream data availabilityunit
- - time interval unitid
- - id of this streamname2
- - name of second streamid2
- - id of second streamname3
- - name of third streamid3
- - id of third stream- Returns:
- stream data mapped by key and Stream ID
-
read
org.reactivestreams.Publisher<Map<String,Map<StreamId,Map<K,V>>>> read(long timeout, TimeUnit unit, StreamId id, Map<String,StreamId> nameToId)
Read stream data by specified stream id mapped by name including this stream. Wait for the first stream data availability for specifiedtimeout
interval.- Parameters:
timeout
- - time interval to wait for stream data availabilityunit
- - time interval unitid
- - id of this streamnameToId
- - stream id mapped by name- Returns:
- stream data mapped by key and Stream ID
-
read
org.reactivestreams.Publisher<Map<String,Map<StreamId,Map<K,V>>>> read(int count, long timeout, TimeUnit unit, StreamId id, String name2, StreamId id2)
Read stream data by specified stream name including this stream. Wait for the first stream data availability for specifiedtimeout
interval.- Parameters:
count
- - stream data size limittimeout
- - time interval to wait for stream data availabilityunit
- - time interval unitid
- - id of this streamname2
- - name of second streamid2
- - id of second stream- Returns:
- stream data mapped by key and Stream ID
-
read
org.reactivestreams.Publisher<Map<String,Map<StreamId,Map<K,V>>>> read(int count, long timeout, TimeUnit unit, StreamId id, String name2, StreamId id2, String name3, StreamId id3)
Read stream data by specified stream names including this stream. Wait for the first stream data availability for specifiedtimeout
interval.- Parameters:
count
- - stream data size limittimeout
- - time interval to wait for stream data availabilityunit
- - time interval unitid
- - id of this streamname2
- - name of second streamid2
- - id of second streamname3
- - name of third streamid3
- - id of third stream- Returns:
- stream data mapped by key and Stream ID
-
read
org.reactivestreams.Publisher<Map<String,Map<StreamId,Map<K,V>>>> read(int count, long timeout, TimeUnit unit, StreamId id, Map<String,StreamId> nameToId)
Read stream data by specified stream id mapped by name including this stream. Wait for the first stream data availability for specifiedtimeout
interval.- Parameters:
count
- - stream data size limittimeout
- - time interval to wait for stream data availabilityunit
- - time interval unitid
- - id of this streamnameToId
- - stream id mapped by name- Returns:
- stream data mapped by key and Stream ID
-
range
org.reactivestreams.Publisher<Map<StreamId,Map<K,V>>> range(StreamId startId, StreamId endId)
Read stream data in range by specified start Stream ID (included) and end Stream ID (included).- Parameters:
startId
- - start Stream IDendId
- - end Stream ID- Returns:
- stream data mapped by Stream ID
-
range
org.reactivestreams.Publisher<Map<StreamId,Map<K,V>>> range(int count, StreamId startId, StreamId endId)
Read stream data in range by specified start Stream ID (included) and end Stream ID (included).- Parameters:
count
- - stream data size limitstartId
- - start Stream IDendId
- - end Stream ID- Returns:
- stream data mapped by Stream ID
-
rangeReversed
org.reactivestreams.Publisher<Map<StreamId,Map<K,V>>> rangeReversed(StreamId startId, StreamId endId)
Read stream data in reverse order in range by specified start Stream ID (included) and end Stream ID (included).- Parameters:
startId
- - start Stream IDendId
- - end Stream ID- Returns:
- stream data mapped by Stream ID
-
rangeReversed
org.reactivestreams.Publisher<Map<StreamId,Map<K,V>>> rangeReversed(int count, StreamId startId, StreamId endId)
Read stream data in reverse order in range by specified start Stream ID (included) and end Stream ID (included).- Parameters:
count
- - stream data size limitstartId
- - start Stream IDendId
- - end Stream ID- Returns:
- stream data mapped by Stream ID
-
-