apache / kvrocks

Apache Kvrocks is a distributed key value NoSQL database that uses RocksDB as storage engine and is compatible with Redis protocol.
https://kvrocks.apache.org/
Apache License 2.0
3.47k stars 450 forks source link

Hope Kvrocks can support full commands of the stream data type #1544

Open jcy1001 opened 1 year ago

jcy1001 commented 1 year ago

Search before asking

Motivation

Same as the title

Solution

No response

Are you willing to submit a PR?

torwig commented 1 year ago

@jcy1001 I would like to help you with your question/request/issue. But unfortunately, I don't know the language and Google Translate said I hope to increase the stream function of redis and realize the simple mq function which I didn't fully understand.

jcy1001 commented 1 year ago

hi, redis has stream function in t_stream.c , redis7.0 has xgroupCreate like command , but our project not implemented, i only find xadd xdel xinfo ..in cmd_stream.cc, thanks ~

jcy1001 commented 1 year ago

this is our project

REDIS_REGISTER_COMMANDS(MakeCmdAttr("xadd", -5, "write", 1, 1, 1), MakeCmdAttr("xdel", -3, "write", 1, 1, 1), MakeCmdAttr("xlen", -2, "read-only", 1, 1, 1), MakeCmdAttr("xinfo", -2, "read-only", 0, 0, 0), MakeCmdAttr("xrange", -4, "read-only", 1, 1, 1), MakeCmdAttr("xrevrange", -2, "read-only", 1, 1, 1), MakeCmdAttr("xread", -4, "read-only", 0, 0, 0), MakeCmdAttr("xtrim", -4, "write", 1, 1, 1), MakeCmdAttr("xsetid", -3, "write", 1, 1, 1))

this is redis XACK XADD XCLAIM XDEL XGROUP XINFO XLEN XPENDING XRANGE XREAD XREADGROUP XREVRANGE XTRIM

Yangsx-1 commented 1 year ago

We are implementing features to be compatible with Redis 7.0, it may need some time. I can drive this task when i'm free.

torwig commented 1 year ago

@jcy1001 Yes, you are right, currently, consumer groups aren't implemented in Kvrocks.