apache / apache/kvrocks

You can help Kvrocks to support more Redis commands

Open
#595 8 comments 8 reactions 0 assignees View on GitHub
enhancement good first issue help wanted
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.