# dragonflydb/dragonfly

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/dragonflydb-dragonfly).**

30,688 stars · 1,190 forks · C++ · NOASSERTION

## Links

- GitHub: https://github.com/dragonflydb/dragonfly
- Homepage: https://www.dragonflydb.io/
- awesome-repositories: https://awesome-repositories.com/repository/dragonflydb-dragonfly.md

## Topics

`cache` `cpp` `database` `fibers` `in-memory` `in-memory-database` `key-value` `keydb` `memcached` `message-broker` `multi-threading` `nosql` `redis` `valkey` `vector-search`

## Description

Dragonfly is a high-performance, multi-model in-memory data store designed to serve as a drop-in replacement for existing database infrastructures. By utilizing a multi-threaded, shared-nothing architecture and a fiber-based concurrency model, it maximizes CPU utilization and minimizes latency for read and write operations. The system supports a wide range of data structures, including strings, hashes, lists, sets, sorted sets, and JSON documents, while maintaining full compatibility with standard industry wire protocols and client libraries.

What distinguishes Dragonfly is its focus on efficiency and scalability through advanced memory management and request processing. It employs a lock-free, cache-friendly hash table structure and zero-copy serialization to reduce overhead during high-throughput operations. For durability, the system utilizes asynchronous, snapshot-based persistence that captures the state of the dataset without blocking active requests. Furthermore, it provides built-in support for horizontal scaling and cluster management, allowing for the distribution of large datasets across multiple nodes to ensure high availability.

Beyond core storage, the platform includes a comprehensive suite of operational and analytical capabilities. It features integrated support for geospatial data management, real-time message brokering via publish-subscribe patterns, and full-text search. To handle massive datasets efficiently, the engine incorporates probabilistic data structures for cardinality estimation, frequency tracking, and membership testing. These features are complemented by robust administrative tools, including access control, request rate limiting, and detailed server monitoring.

## Tags

### Data & Databases

- [Distributed Caching Engines](https://awesome-repositories.com/f/data-databases/distributed-caching-engines.md) — A scalable infrastructure component that accelerates application performance by storing frequently accessed data in a shared, low-latency memory layer.
- [Geospatial Databases](https://awesome-repositories.com/f/data-databases/geospatial-databases.md) — Provides high-speed storage and querying capabilities for location-based information, including proximity searches and distance calculations.
- [Hash Data Structures](https://awesome-repositories.com/f/data-databases/hash-data-structures.md) — Provides high-performance hash map storage for associating multiple field-value pairs with single keys. ([source](https://www.dragonflydb.io/docs/category/command-reference))
- [In-Memory Databases](https://awesome-repositories.com/f/data-databases/in-memory-databases.md) — A high-performance database engine that keeps data in RAM to provide sub-millisecond latency for read and write operations.
- [JSON Document Stores](https://awesome-repositories.com/f/data-databases/json-document-stores.md) — Stores and manipulates nested JSON documents directly within the database to support complex data structures without external transformation. ([source](https://www.dragonflydb.io/docs/category/command-reference))
- [Key-Value Stores](https://awesome-repositories.com/f/data-databases/key-value-stores.md) — Dragonfly executes standard key-value operations such as setting, getting, deleting, and checking the existence of keys across various supported data types. ([source](https://www.dragonflydb.io/docs/category/command-reference))
- [Sorted Sets](https://awesome-repositories.com/f/data-databases/sorted-sets.md) — Maintains collections of unique elements associated with numerical scores to perform efficient range queries and rank-based data retrieval operations. ([source](https://www.dragonflydb.io/docs/category/command-reference))
- [String Data Structures](https://awesome-repositories.com/f/data-databases/string-data-structures.md) — Provides high-performance storage and atomic manipulation of raw string and binary data types. ([source](https://www.dragonflydb.io/docs/category/command-reference))
- [Database Sharding Solutions](https://awesome-repositories.com/f/data-databases/database-sharding-solutions.md) — Distributing large datasets across multiple nodes to ensure high availability and consistent performance as application traffic and data volume grow.
- [Persistence Strategies](https://awesome-repositories.com/f/data-databases/persistence-strategies.md) — Captures point-in-time states of the in-memory dataset by asynchronously streaming memory pages to disk to ensure durability without blocking operations.
- [Probabilistic Data Structures](https://awesome-repositories.com/f/data-databases/probabilistic-data-structures.md) — Dragonfly performs probabilistic membership testing using bloom filters to efficiently determine if an element is likely present in a large dataset without scanning all records. ([source](https://www.dragonflydb.io/docs/category/command-reference))
- [Caching Layers](https://awesome-repositories.com/f/data-databases/caching-layers.md) — Accelerating application response times by replacing standard in-memory data stores with high-throughput alternatives that maintain full protocol compatibility.
- [Database Client SDKs](https://awesome-repositories.com/f/data-databases/database-client-sdks.md) — Supports standard database client libraries to ensure seamless integration with existing development workflows and protocols. ([source](https://www.dragonflydb.io/docs/development/sdks))
- [Geospatial Data Structures](https://awesome-repositories.com/f/data-databases/geospatial-data-structures.md) — Provides efficient storage and querying of location coordinates to calculate distances and identify nearby points within the database. ([source](https://www.dragonflydb.io/docs/category/command-reference))
- [Hash Tables](https://awesome-repositories.com/f/data-databases/hash-tables.md) — Implements a cache-friendly, lock-free hash table structure for constant-time data lookups and memory-efficient storage.
- [List Data Structures](https://awesome-repositories.com/f/data-databases/list-data-structures.md) — Provides high-performance ordered sequence management with native support for push, pop, and range-based data operations. ([source](https://www.dragonflydb.io/docs/category/command-reference))
- [Multi-Model Databases](https://awesome-repositories.com/f/data-databases/multi-model-databases.md) — A data storage solution that supports complex structures like hashes, lists, sets, and JSON documents alongside standard key-value pairs.
- [Set Data Structures](https://awesome-repositories.com/f/data-databases/set-data-structures.md) — Provides high-performance set operations including membership testing, unions, and intersections for unique data collections. ([source](https://www.dragonflydb.io/docs/category/command-reference))
- [Stream Processing](https://awesome-repositories.com/f/data-databases/stream-processing.md) — Provides real-time stream processing capabilities through log-based data structures and consumer group message delivery. ([source](https://www.dragonflydb.io/docs/category/command-reference))
- [Database Compatibility Layers](https://awesome-repositories.com/f/data-databases/database-compatibility-layers.md) — A drop-in storage alternative that implements standard industry communication protocols to ensure seamless integration with existing application codebases and tools.
- [Full-Text Search Engines](https://awesome-repositories.com/f/data-databases/full-text-search-engines.md) — Dragonfly performs full-text search and complex queries on indexed data to retrieve relevant records based on specific content or attributes within your dataset. ([source](https://www.dragonflydb.io/docs/category/command-reference))

### DevOps & Infrastructure

- [Cluster Management](https://awesome-repositories.com/f/devops-infrastructure/cluster-management.md) — Configures and manages cluster nodes to distribute data across multiple instances, ensuring high availability and horizontal scalability. ([source](https://www.dragonflydb.io/docs/category/command-reference))
- [Cloud Deployment Services](https://awesome-repositories.com/f/devops-infrastructure/cloud-deployment-services.md) — Dragonfly provides managed cloud deployment options to ensure high availability and consistent performance for in-memory data stores across major cloud computing environments. ([source](https://www.dragonflydb.io/docs/cloud))
- [Rate Limiters](https://awesome-repositories.com/f/devops-infrastructure/rate-limiters.md) — Dragonfly controls the volume of incoming requests to protect system resources and prevent service abuse by enforcing strict traffic limits on specific operations or user endpoints. ([source](https://www.dragonflydb.io/docs/category/command-reference))

### Programming Languages & Runtimes

- [Concurrency Models](https://awesome-repositories.com/f/programming-languages-runtimes/language-features-paradigms/concurrency-models.md) — Executes asynchronous tasks using lightweight user-space threads to optimize performance during high-throughput network operations.
- [Runtime Environments](https://awesome-repositories.com/f/programming-languages-runtimes/runtime-execution-environments/runtime-environments.md) — A multi-threaded execution environment designed to maximize CPU efficiency and handle massive request volumes on single or clustered server nodes.

### Security & Cryptography

- [Access Control Systems](https://awesome-repositories.com/f/security-cryptography/access-control-systems.md) — Manages user permissions and restricts command execution through access control lists to ensure secure database interactions. ([source](https://www.dragonflydb.io/docs/category/command-reference))

### Software Engineering & Architecture

- [Concurrency Models](https://awesome-repositories.com/f/software-engineering-architecture/concurrency-models.md) — Processes requests using a lock-free, multi-threaded design that avoids global mutex contention to maximize CPU core utilization.
- [Request Dispatchers](https://awesome-repositories.com/f/software-engineering-architecture/request-dispatchers.md) — Routes incoming requests through a translation layer that maps standard wire protocols to internal execution primitives for seamless drop-in replacement.
- [Data Serialization Patterns](https://awesome-repositories.com/f/software-engineering-architecture/data-serialization-patterns.md) — Transmits data between the network layer and storage engine by mapping memory buffers directly to avoid expensive data duplication cycles.

### System Administration & Monitoring

- [Server Administration Tools](https://awesome-repositories.com/f/system-administration-monitoring/server-administration-tools.md) — Monitors and configures server settings including memory usage, connection handling, and diagnostic reporting to maintain optimal operational health. ([source](https://www.dragonflydb.io/docs/category/command-reference))

### Networking & Communication

- [Message Brokers](https://awesome-repositories.com/f/networking-communication/message-brokers.md) — Facilitating instant communication between distributed system components by implementing scalable publish-subscribe messaging patterns for event-driven architectures.
- [PubSub Messaging Systems](https://awesome-repositories.com/f/networking-communication/pubsub-messaging-systems.md) — Dragonfly implements messaging patterns by publishing data to channels and subscribing to receive real-time updates across distributed clients to facilitate seamless communication between system components. ([source](https://www.dragonflydb.io/docs/category/command-reference))
