In-memory data store compatible with Redis and Memcached APIs, built for modern application workloads
- Stars30.7k
- Forks1.2k
- Open Issues278
Other
- C++
- Python
- C

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
