testcontainers / testcontainers/testcontainers-dotnet

[Enhancement]: Add KeyDB support

Open
#1,192 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement module
Dominant language
C#
Stars
4.4k
Forks
357
Avg merge
14h 42m
Merged PRs (30d)
16

Description

Problem

Redis is no longer open-source, and the main two alternatives to it are:

  • Valkey, which is a very young fork of Redis that offers pretty much the same feature-set as Redis before the switch to "source-available"
  • KeyDB, which is a more mature fork of Redis that is more performant (multithreaded)

In my projects, I've switched to using KeyDB, which induced quite a bit of boilerplate for my tests that need a distributed cache, and I think that having a KeyDB module in Testcontainers.NET will be beneficial.

Solution

Introduce a KeyDB module.

Benefit

Support those that have opted to switch to KeyDB after the Redis fiasco.

Alternatives

The main alternative is supporting Valkey, which has also rapidly gained popularity, but, considering that KeyDB offers some unique features over Valkey, I see support of both as relevant.

Would you like to help contributing this enhancement?

Yes

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are named. Start by locating the existing Redis-related module and its tests, then determine the module structure and container behavior that a KeyDB implementation must follow. Done means KeyDB support is exposed as a tested Testcontainers.NET module.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, docker, redis
Domain
databases, devtools, testing
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.