dragonflydb/dragonfly

A modern replacement for Redis and Memcached

解決的問題

Dragonfly 是一種高效率的記憶體資料儲存,旨在取代 Redis 和 Memcached 等傳統系統。它透過垂直擴展以利用現代多核心 CPU,克服單執行緒架構的限制,顯著提升吞吐量,並大幅減少相同工作負載所需的資源開銷。

工作原理

Dragonfly 採用「無共享」架構,將鍵空間分割為由各個執行緒獨立管理的分片,從而消除競爭。它基於 VLL 鎖管理器的重新設計,建構交易框架,確保多鍵操作的原子性,而無需依賴互斥鎖或自旋鎖。在資料儲存方面,它實作了基於「Dash」可擴展雜湊設計的雜湊表,支援高效的記錄過期、零開銷的快取淘汰演算法,以及無需 fork 的快照機制。

適用對象

專為需要超高速、高成本效益的記憶體儲存,且完全相容 Redis 和 Memcached API 的現代雲端應用工作負載之開發者與組織所設計。

主要亮點

  • 高吞吐量:可達單一進程 Redis 的 25 倍吞吐量,基準測試顯示在管道模式下最高可達 1,000 萬至 1,500 萬 QPS。
  • API 相容性:完全相容 Redis 和 Memcached API,採用時無需修改程式碼。
  • 資源高效:在同等工作負載下,可減少高達 80% 的資源使用,且在快照過程中更節省記憶體。
  • 內建工具:包含原生 HTTP 控制台與 Prometheus 相容指標,便於監控與管理。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案