dragonflydb/dragonfly
A modern replacement for Redis and Memcached
解决的问题
Dragonfly 是一种高性能的内存数据存储,旨在取代 Redis 和 Memcached 等旧系统。它通过垂直扩展以利用现代多核 CPU,解决了单线程架构的局限性,显著提升吞吐量,并大幅减少相同工作负载所需的资源开销。
工作原理
Dragonfly 采用「无共享」架构,将键空间划分为由各个线程独立管理的分片,从而消除竞争。它基于 VLL 锁管理器的重新设计,构建了事务框架,确保多键操作的原子性,而无需依赖互斥锁或自旋锁。在数据存储方面,它实现了基于「Dash」可扩展哈希设计的哈希表,支持高效的记录过期、零开销的缓存淘汰算法,以及无需 fork 的快照机制。
适用人群
专为需要超高速、高成本效益的内存存储,并且完全兼容 Redis 和 Memcached API 的现代云应用工作负载的开发者和组织而构建。
主要亮点
- 高吞吐量:可达到单进程 Redis 的 25 倍吞吐量,基准测试显示在管道模式下最高可达 1000 万至 1500 万 QPS。
- API 兼容性:完全兼容 Redis 和 Memcached API,无需修改代码即可采用。
- 资源高效:在同等工作负载下,可减少高达 80% 的资源使用,并在快照过程中更节省内存。
- 内置工具:包含原生 HTTP 控制台和 Prometheus 兼容指标,便于监控与管理。
相关
- 项目
- 项目
- 项目
- 项目
- 项目