Skip to content

RFC: Evaluate replacing Redis with DragonflyDB as the caching backend #3591

Description

@AdaAibaby

Hi @e2b-dev/infra maintainers,
In the current infra, Redis (via github.com/redis/go-redis/v9) backs several low-latency caches — auth cache, template metadata & alias cache, and the RedisSandboxCatalog in client-proxy (see packages/client-proxy, packages/api/internal/cache/templates, PRs #1914/#1915/#2289). Given the characteristics of DragonflyDB (https://github.com/dragonflydb/dragonfly ), I'd like to open an RFC on whether there's interest in evaluating it as a drop-in caching backend.
Why it looks relevant:
Wire/Client compatibility​ — DragonflyDB is 100% Redis protocol & command compatible; the existing go-redis/v9 clients would work by only swapping the endpoint, no app-code changes.
Throughput & footprint​ — official benchmarks show ~25X the QPS of single-process Redis on the same instance (3.8M QPS on c6gn.16xlarge) and up to 80% lower resource usage for the same workload, with no memory spike during snapshotting. This could help with the high churn rate caused by frequent sandbox create/destroy cycles.
Migration path​ — supports live REPLICAOF replication and RDB import, so a cutover can be done without code changes.
I'd like to understand the project's stance:
Is DragonflyDB already on the radar for cache backing, or ruled out deliberately (e.g. reliance on Redis Cluster slot semantics, specific Lua/PubSub behavior, or Valkey being the chosen direction)?
Do any e2b Redis usages touch commands/features Dragonfly doesn't implement that would block a switch?
If evaluated, would shadow-traffic on a non-critical path (e.g. template alias cache) be the preferred first step?
Not proposing immediate action — just collecting maintainer & community input on design direction. Thanks!

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions