You can help Kvrocks to support more Redis commands
- Dominant language
- C++
- Stars
- 4.4k
- Forks
- 658
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 10
Description
### Motivation
Now Kvrocks only support most commands of Redis 4.0 version. Here are supported commands https://github.com/apache/incubator-kvrocks/wiki/Support-Commands.
But now Redis is 7.0, developers want us to support some useful commands to make development easier. Just a few of us is not enough to implement so many command. To make this project better, we need your help!
### Solution
If you want to implement one command, you can firstly open an issue for it (if it is not already created by others).
Here are the basic steps to implement a new command for your reference.
2. Implement the storage algorithm in `types/redis_xx.cc` (`redis_hash.cc`, `redis_list.cc`, `redis_zset.cc`, ...) and command parsing/executing class in `commands/cmd_xx.cc` (`cmd_string.cc`, `cmd_set.cc`, ...), you can refer other similar commands.
3. Add c++ and golang tests (unit tests, and integration tests if necessary).
### Are you willing to submit a PR?
- [ ] I'm willing to submit a PR!
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the supported-commands list in the linked Kvrocks wiki and choose a specific Redis command that does not already have an issue. Read the related implementation in types/redis_xx.cc and commands/cmd_xx.cc, following similar commands, then add the required C++ and Go tests. Done means the selected command is implemented and its tests pass.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, redis
- Domain
- databases
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100