BlogDatabasesWhat is Dragonfly? The Modern Redis Alternative That's 25x Faster

What is Dragonfly? The Modern Redis Alternative That's 25x Faster

Adrian Silaghi
Adrian Silaghi
November 15, 2025
7 min read
2 views
#dragonfly #redis #caching #performance #in-memory-database

If you've been following the in-memory database space, you've probably heard about Dragonfly—a modern Redis alternative that claims to be 25x faster while using fewer resources. But what makes it different, and should you consider it for your stack?

The Problem with Traditional Redis

Redis has been the default choice for caching and real-time data for over a decade. But it has architectural limitations:

  • Single-threaded core: Redis processes commands on a single thread, limiting vertical scalability
  • Memory overhead: Data structures aren't optimized for memory efficiency
  • Cluster complexity: Scaling requires sharding across multiple instances
  • Fork-based persistence: BGSAVE forks the process, causing memory spikes

How Dragonfly is Different

Multi-Threaded Architecture

Dragonfly uses a shared-nothing, multi-threaded architecture. Each thread handles a subset of keys, eliminating contention:

Aspect Redis Dragonfly
Threading Model Single-threaded Multi-threaded
CPU Utilization 1 core max All available cores
Vertical Scaling Limited Linear with cores

Memory Efficiency

Dragonfly uses novel data structures (dashtable) that are more memory-efficient:

  • ~30% less memory for the same dataset
  • No memory spike during snapshots (uses incremental snapshots)
  • Better cache locality for improved performance

Snapshot Without Fork

Redis's BGSAVE forks the entire process, which can double memory usage temporarily. Dragonfly uses incremental snapshots that don't require forking:

# Redis memory during BGSAVE:
# Before: 8GB → During snapshot: Up to 16GB

# Dragonfly memory during snapshot:
# Before: 8GB → During snapshot: ~8GB (minimal overhead)

Benchmark Results

In published benchmarks, Dragonfly shows significant improvements:

Benchmark Redis 7 Dragonfly Improvement
SET operations/sec ~200K ~4M 20x
GET operations/sec ~250K ~5M 20x
Memory (1B keys) ~185GB ~120GB 35% less

*Results vary based on hardware and workload. Always benchmark with your specific use case.

Redis Compatibility

Dragonfly maintains high compatibility with the Redis protocol:

  • Drop-in replacement: Use your existing Redis client libraries
  • Command support: Strings, Lists, Sets, Hashes, Sorted Sets, Streams
  • Lua scripting: Full support for Redis Lua scripts
  • Pub/Sub: Compatible publish/subscribe messaging

Most applications can switch from Redis to Dragonfly by changing the connection string.

When to Use Dragonfly

Great For:

  • High-throughput workloads: Applications that need millions of ops/sec
  • Large datasets: Memory efficiency matters when storing 100GB+ of data
  • Vertical scaling preference: Use one powerful instance instead of a cluster
  • Memory-constrained environments: Get more data in the same RAM

Consider Redis When:

  • Redis Cluster is required: Dragonfly focuses on single-instance performance
  • Specific modules needed: RedisSearch, RedisGraph, etc.
  • Maximum ecosystem compatibility: Redis has more third-party tooling

Dragonfly vs Valkey

With the recent Redis licensing changes, Valkey emerged as a community fork. Here's how they compare:

Aspect Dragonfly Valkey
Architecture Modern, multi-threaded Redis fork (single-threaded)
Performance 25x faster Similar to Redis
Compatibility High 100% (it's a fork)
Clustering Single instance focus Full cluster support
License BSL 1.1 BSD 3-Clause

Getting Started with Dragonfly

On DanubeData, you can deploy Dragonfly with a single click:

  1. Choose "Cache Instance" from the dashboard
  2. Select "Dragonfly" as the engine
  3. Pick your instance size
  4. Deploy—your instance is ready in under a minute

Connect using any Redis client:

# Python
import redis
r = redis.Redis(host='your-instance.danubedata.ro', port=6379, password='your-password', ssl=True)
r.set('key', 'value')

# Node.js
const Redis = require('ioredis');
const redis = new Redis('rediss://:your-password@your-instance.danubedata.ro:6379');

The Bottom Line

Dragonfly represents a new generation of in-memory data stores. By rethinking the architecture from the ground up, it delivers dramatic performance improvements while maintaining Redis compatibility.

For new projects or applications hitting Redis scaling limits, Dragonfly is worth serious consideration.

Ready to try Dragonfly? Deploy a managed instance and benchmark it against your workload.

Share this article

Ready to Get Started?

Deploy your infrastructure in minutes with DanubeData's managed services.