Dragonfly is an in-memory caching store replacing Redis and Memcached with a multi-threaded architecture that maximizes hardware throughput on Linux.
An API service saturating single-core Redis instances during peak traffic often forces teams to deploy clustered sharding proxies to distribute CPU load. Dragonfly replaces that operational sprawl with a multi-threaded in-memory engine that utilizes every core on a host through standard Redis and Memcached drivers. Applications point to a single endpoint without changing client connection code, handling high request volumes with low tail latency.
Adopting Couchbase Capella requires integrating proprietary client SDKs, configuring connection strings, and adapting queries to bucket and collection hierarchies. If an application relies on standard key-value caching, developers must rewrite access logic for Capella's query engine. In contrast, Dragonfly connects directly to existing codebases by speaking standard RESP and Memcached wire protocols. Applications using redis-py, ioredis, Jedis, or web framework adapters connect without changing query logic or installing proprietary dependencies.
The architectural distinction centers on whether an application needs an enterprise document database or an in-memory engine. Couchbase Capella provides managed JSON storage, distributed SQL++ querying, secondary indexes, and cloud connectors. Dragonfly focuses strictly on low-latency in-memory data structures, caching, and transient state. It cannot replace Capella's distributed query engine or managed cloud services, but teams requiring only caching, session state, or queues avoid the proprietary SDK lock-in and operational overhead of an entire database platform.
Is Dragonfly a drop-in replacement for Redis? Yes. Dragonfly supports standard Redis RESP2 and RESP3 protocols, so applications using redis-py, ioredis, or Jedis connect without code modifications.
Dragonfly vs Couchbase Capella — which should you choose? Choose Couchbase Capella for a managed cloud document database with distributed SQL++ queries; choose Dragonfly for high-throughput in-memory caching and session storage using standard Redis drivers.
Does Dragonfly run on Windows? Dragonfly requires Linux kernel features such as io_uring and runs on Windows only through Docker containers or WSL2.
Dragonfly is the right choice for teams seeking to consolidate Redis clusters into a single multi-threaded host; it is not suited for workloads requiring a distributed document database with complex relational queries. Governed by the BSL-1.0 license that permits free production deployment while restricting competing cloud hosting services, active development maintained through September 2026 makes it a dependable caching foundation for modern Linux infrastructure.
We started this exact setup from scratch in a clean Linux machine on Oct 23, 2026 and checked it through Dragonfly's own API: every check passed. Recipes are re-checked regularly and removed if they stop working.
mkdir -p dragonfly-cache && cd dragonfly-cache
curl -fsSL https://open-source.store/tools/dragonfly-cache/compose.yml -o compose.ymlcat > .env <<EOF
DRAGONFLY_PASSWORD=$(openssl rand -hex 12)
EOFDRAGONFLY_PASSWORD — Password required for Redis clients and the HTTP API. Generated above; keep it secret.docker compose up -dservices:
dragonfly:
image: docker.dragonflydb.io/dragonflydb/dragonfly:v2.0.2
command: ["--logtostderr", "--requirepass=${DRAGONFLY_PASSWORD}", "--expose_http_api=true"]
ulimits:
memlock: -1
ports:
- "127.0.0.1:6379:6379"
volumes:
- dragonflydata:/data
restart: always
healthcheck:
test: ["CMD", "redis-cli", "-a", "${DRAGONFLY_PASSWORD}", "ping"]
interval: 3s
timeout: 3s
retries: 5
volumes:
dragonflydata:
Go, gRPC and Protobuf done right, LLM agents in production, and the hard parts of shipping a first product.
Show that Dragonfly is listed as an open-source alternative. Paste into your README:
Ubuntu 24.04 · Apple container, Docker 29.1.3, Compose 2.40.3+ds1-0ubuntu1~24.04.1. Images pulled in 18 s: docker.dragonflydb.io/dragonflydb/dragonfly:v2.0.2.
Based on the upstream setup. Official Dragonfly Docker Compose setup. Pinned image to v2.0.2, bound port to 127.0.0.1, added generated password authentication via --requirepass, enabled HTTP API with Basic Auth, and configured healthcheck.
dragonfly-1 | 2026-10-23T17:14:22.367534259Z I20261023 17:14:22.367247 7 init.cc:144] dragonfly running in opt mode. dragonfly-1 | 2026-10-23T17:14:22.367604426Z .--::--. dragonfly-1 | 2026-10-23T17:14:22.367606759Z :+*=: =@@@@@@@@= :+*+: dragonfly-1 | 2026-10-23T17:14:22.367607384Z %@@@@@@%*=. =@@@@@@@@- .=*%@@@@@@# dragonfly-1 | 2026-10-23T17:14:22.367607967Z @@@@@@@@@@@@#+-. .%@@@@#. .-+#@@@@@@@@@@@% dragonfly-1 | 2026-10-23T17:14:22.367608509Z -@@@@@@@@@@@@@@@@*:#@@#:*@@@@@@@@@@@@@@@@- dragonfly-1 | 2026-10-23T17:14:22.367609051Z :+*********####-%@%%@%-####********++. dragonfly-1 | 2026-10-23T17:14:22.367609551Z .%@@@@@@@@@@@@@%:@@@@@@:@@@@@@@@@@@@@@% dragonfly-1 | 2026-10-23T17:14:22.367610051Z .@@@@@@@@%*+-: =@@@@= .:-+*%@@@@@@@%. dragonfly-1 | 2026-10-23T17:14:22.367610509Z =*+-: ###* .:-+*= dragonfly-1 | 2026-10-23T17:14:22.367611009Z %@@% dragonfly-1 | 2026-10-23T17:14:22.367611467Z *@@* dragonfly-1 | 2026-10-23T17:14:22.367611967Z +@@= dragonfly-1 | 2026-10-23T17:14:22.367612426Z :##: dragonfly-1 | 2026-10-23T17:14:22.367612926Z :@@: dragonfly-1 | 2026-10-23T17:14:22.367613384Z @@ dragonfly-1 | 2026-10-23T17:14:22.367613884Z .. dragonfly-1 | 2026-10-23T17:14:22.367614384Z * Logs will be written to the first available of the following paths: dragonfly-1 | 2026-10-23T17:14:22.367614884Z /tmp/dragonfly.* dragonfly-1 | 2026-10-23T17:14:22.367615384Z ./dragonfly.* dragonfly-1 | 2026-10-23T17:14:22.367615842Z * For the available flags type dragonfly [--help | --helpfull] dragonfly-1 | 2026-10-23T17:14:22.367616384Z * Documentation can be found at: https://www.dragonflydb.io/docs dragonfly-1 | 2026-10-23T17:14:22.367644592Z I20261023 17:14:22.367619 7 dfly_main.cc:1108] Starting dragonfly df-v2.0.2-8ce4bbb106586057fbd85f71ed353c60d0d5bf87 dragonfly-1 | 2026-10-23T17:14:22.367783134Z I20261023 17:14:22.367770 7 dfly_main.cc:1171] maxmemory has not been specified. Deciding myself.... dragonfly-1 | 2026-10-23T17:14:22.367803717Z I20261023 17:14:22.367785 7 dfly_main.cc:1180] Found 3.73GiB available memory. Setting maxmemory to 2.99GiB dragonfly-1 | 2026-10-23T17:14:22.367833301Z W20261023 17:14:22.367827 7 dfly_main.cc:550] Check if io_uring is disabled via /proc/sys/kernel/io_uring_disabled. Switching to epoll. dragonfly-1 | 2026-10-23T17:14:22.368147967Z I20261023 17:14:22.368129 7 proactor_pool.cc:186] Running 2 io threads dragonfly-1 | 2026-10-23T17:14:22.369009926Z I20261023 17:14:22.368976 12 dragonfly_listener.cc:159] SSL version: OpenSSL 3.4.5 7 Apr 2026 dragonfly-1 | 2026-10-23T17:14:22.369232301Z I20261023 17:14:22.369220 7 dragonfly_connection.cc:917] Shared RESP V2 read buffer disabled dragonfly-1 | 2026-10-23T17:14:22.370112259Z I20261023 17:14:22.370081 7 server_family.cc:1217] Host OS: Linux 6.18.35 aarch64 with 2 threads dragonfly-1 | 2026-10-23T17:14:22.370471426Z I20261023 17:14:22.370446 7 snapshot_storage.cc:327] Load snapshot: Searching for snapshot in directory: "/data" dragonfly-1 | 2026-10-23T17:14:22.370549801Z W20261023 17:14:22.370507 7 server_family.cc:1330] Load snapshot: No snapshot found dragonfly-1 | 2026-10-23T17:14:22.373173884Z I20261023 17:14:22.373117 13 listener_interface.cc:102] sock[7] AcceptServer - listening on 0.0.0.0:6379