dragonflydb/dragonfly
A modern replacement for Redis and Memcached
解决的问题
Dragonfly 是一个高性能的内存数据存储系统,旨在克服 Redis 和 Memcached 等传统系统在吞吐量与资源使用上的限制。它通过垂直扩展来利用现代多核心 CPU 与高内存云实例,解决了单线程架构的瓶颈,在处理相同工作负载时可减少高达 80% 的资源需求。
运作原理
Dragonfly 采用“无共享”(shared-nothing) 架构,将键空间 (keyspace) 分割为由个别线程管理的碎片 (shards),以最大化 CPU 与 I/O 的利用率。为了在不依赖互斥锁 (mutexes) 或自旋锁 (spinlocks) 的情况下确保多键操作的原子性,它使用了基于 VLL 锁管理器重新设计的事务框架。其核心哈希表基于 Dash 可扩展哈希设计,支持增量哈希、无状态扫描操作以及无 fork 的快照算法。
适用对象
它专为执行现代云端应用工作负载的开发人员与组织而设计,这些应用需要一个超快速、具成本效益且完全兼容 Redis 与 Memcached API 的内存存储系统。
特色亮点
- 高吞吐量:吞吐量最高可达单个 Redis 进程的 25 倍,突破 3.8M QPS。
- API 兼容性:完全兼容 Redis 与 Memcached API,采用时无需修改任何代码。
- 内存效率:在闲置状态下比 Redis 节省高达 30% 的内存,并使用无 fork 的快照流程来避免内存峰值。
- 自适应缓存:具备统一的零开销缓存算法,在接近内存限制时,根据未来访问可能性来淘汰项目。
相关
- 项目
- 项目
- 项目
- 项目
- 项目