FlyDB icon indicating copy to clipboard operation
FlyDB copied to clipboard

New data structure —— Stream

Open qishenonly opened this issue 2 years ago • 0 comments

We need a new data structure, Stream , to extend the database's key-value storage structure. We need to build some instructions into Stream to make it more complete. If you are interested in extending the Stream data structure, you can comment below on the issue id you would like to try and we will assign it to you.

ID Method Command Description Progress People
1 XAdd XAdd key ID field value1 Insert a single message with an ID and a field into a stream @qishenonly  finished
2 XAdds XAdds key ID field1 value1 ... Insert multiple messages with IDs and fields into a stream    
3 XDel XDel key ID Delete a single message from a stream @qishenonly   finished
4 XDels XDels key ID1 ID2 ... Delete multiple messages from a stream    
5 XLen XLen key Get the number of messages in a stream @qishenonly   finished
6 XRange XRange key start end [COUNT count] Get messages within a specified range, with an optional count @qishenonly   finished
7 XRevRange XRevRange key end start [COUNT count] Get messages within a specified range in reverse order, with count  @qishenonly  finished
8 XRead XRead COUNT count STREAMS key Read a message from a streams @qishenonly   finished
9 XReads XReads COUNT count STREAMS key ... Read multiple messages from a streams    
10 XGroup XGroup CREATE key groupname id-or-$ Create a new consumer group or update an existing group's settings @qishenonly   finished
11 XAck XAck key group ID1 Confirm that a consumer group has processed messages in the stream    
12 XAck XAck key group ID1 ID2 ... Confirm that a consumer group has processed multiple messages    
13 XPending XPending key group [start end count] Get information about pending messages in the specified group    
14 XClaim XClaim key group consumer min-idle-time ID Get a specified message from the pending messages of a specific group and assign it to a consumer    
15 XClaim XClaim key group consumer min-idle-time ID [ID ...] Get multiple specified messages from the pending messages of a specific group and assign them to a consumer

qishenonly avatar Jul 03 '23 07:07 qishenonly