Repolode
dragonflydb

dragonflydb/dragonfly

与 Redis 和 Memcached API 兼容的内存数据存储,可直接替换两者使用。

可替代:Redis

Star
31,798
Fork
1,283
未关闭 Issue
276
最近提交
9小时前

这是什么?

Dragonfly 是一个内存数据存储,实现了 Redis 与 Memcached 协议,现有客户端和应用无需修改代码即可接入。项目使用 C++ 编写,采用 shared-nothing 架构,将键空间按线程切分,让单个实例能够利用多个 CPU 核心,而不像 Redis 进程那样通常只依赖单线程。

项目适用于缓存和键值类负载,支持通过参数开启自适应缓存淘汰模式、基于 TTL 的过期机制,以及用于备份的快照功能。快照可通过 cron 表达式定时执行。Dragonfly 还提供兼容 Prometheus 的指标接口,并在主端口上内置 HTTP 控制台,暴露在不可信网络中的部署可以将其关闭。

项目公布了在 AWS 实例上与 Redis、Memcached 的基准测试对比,吞吐与延迟数据随实例规格和负载而变化。这些数据来自项目自身的测试,建议结合自己的业务负载进行验证。

核心功能

  • 01兼容 Redis 与 Memcached 协议,现有客户端无需改代码。
  • 02多线程设计,将键分片到各线程以利用多个 CPU 核心。
  • 03自适应缓存淘汰模式,在接近内存上限时淘汰数据。
  • 04支持基于 cron 表达式的定时快照,并提供兼容 Prometheus 的指标。
  • 05主端口内置 HTTP 控制台,可按需关闭。

适用场景

  • 替换因单线程 CPU 瓶颈而遇到性能上限的 Redis 部署。
  • 作为数据库前的缓存层,沿用现有 Redis 或 Memcached 客户端。
  • 在核心数较多的云服务器上运行键值存储。
  • 结合 Prometheus 与 Grafana 监控内存存储的运行状态。

快速上手

  1. 1

    按照文档中的快速入门指南获取 Dragonfly 二进制文件

  2. 2

    使用示例启动参数运行 Dragonfly

    ./dragonfly-x86_64 --logtostderr --requirepass=youshallnotpass --cache_mode=true -dbnum 1 --bind localhost --port 6379 --maxmemory=12gb --keys_output_limit=12288 --dbfilename dump

使用前须知

  • 元数据中的许可证显示为 NOASSERTION,使用前需直接在仓库中核实许可证条款。
  • 大于 2^28 毫秒的过期时间会被四舍五入到最近的秒,可能不适合所有使用场景。

标签

常见问题

dragonfly 是什么?
与 Redis 和 Memcached API 兼容的内存数据存储,可直接替换两者使用。 Dragonfly 是一个内存数据存储,实现了 Redis 与 Memcached 协议,现有客户端和应用无需修改代码即可接入。项目使用 C++ 编写,采用 shared-nothing 架构,将键空间按线程切分,让单个实例能够利用多个 CPU 核心,而不像 Redis 进程那样通常只依赖单线程。
dragonfly 可以免费使用吗?用的什么许可证?
dragonfly 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
dragonfly 还在维护吗?
活跃维护中。dragonfly 最近一次提交是在 2026年10月19日。
dragonfly 适合用来做什么?
替换因单线程 CPU 瓶颈而遇到性能上限的 Redis 部署。 作为数据库前的缓存层,沿用现有 Redis 或 Memcached 客户端。 在核心数较多的云服务器上运行键值存储。 结合 Prometheus 与 Grafana 监控内存存储的运行状态。
dragonfly 怎么安装和运行?
按照文档中的快速入门指南获取 Dragonfly 二进制文件 使用示例启动参数运行 Dragonfly: ./dragonfly-x86_64 --logtostderr --requirepass=youshallnotpass --cache_mode=true -dbnum 1 --bind localhost --port 6379 --maxmemory=12gb --keys_output_limit=12288 --dbfilename dump
在哪里获取 dragonfly?
源代码和安装说明在 GitHub 上:https://github.com/dragonflydb/dragonfly

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目