Dragonfly logo

Dragonfly

In-memory data store compatible with Redis and Memcached APIs, built for modern application workloads

Open Source Alternative to
Repository activity
  • Stars30.7k
  • Forks1.2k
  • Open Issues278
License

Other

Languages
  • C++
  • Python
  • C
Dragonfly screenshot

About Dragonfly

Dragonfly is an in-memory data store for modern application workloads. It is compatible with Redis and Memcached APIs, so applications can adopt it without code changes. It targets cache and key-value database use cases while preserving atomicity guarantees for operations and low, sub-millisecond latency over high throughput.

Dragonfly uses a shared-nothing architecture that partitions the keyspace between threads, with each shard managing its own slice of dictionary data. It supports about 185 Redis commands and all Memcached commands except cas. Cache mode enables a unified adaptive caching algorithm that evicts items near the maxmemory limit.

Dragonfly runs as a server process with command-line flags, flag files, or DFLY_ environment variables for configuration. It includes a native HTTP console on the main TCP port and Prometheus-compatible metrics at /metrics. Dragonfly Cloud is available, and the source is available on GitHub.

Key features

  • Compatible with Redis and Memcached APIs
  • Supports about 185 Redis commands and all Memcached commands except cas
  • Shared-nothing architecture partitions the keyspace between threads
  • Cache mode with adaptive eviction near the maxmemory limit
  • Native HTTP console and Prometheus-compatible /metrics endpoint

Details

First released
2021
APIs
Redis · Memcached
Redis commands
~185
Memcached commands
All except cas
Metrics
Prometheus-compatible
Configuration
Flags · flagfile · DFLY_ env vars