25.4K Star 高效内存数据存储!特别好用的Redis 和 Memcached 替代品:Dragonfly!
Dragonfly 是一款全新的高性能内存数据存储系统,专为高并发、低延迟的应用场景设计。
它完全兼容 Redis 和 Memcached,并通过创新的算法与多线程架构,带来了高达 25 倍的性能提升。
这使 Dragonfly 成为游戏服务器、实时分析、金融交易等对数据访问速度要求极高的场景下的理想选择。
主要特性
-
百万级QPS: 非竞争性、多线程处理意味着在相同硬件上具有更高的吞吐量。请阅读基准报告了解详情。
-
更高的命中率: Dragonfly独特的缓存算法意味着更高的命中率和对主数据库更好的保护。
-
更低的尾部延迟: 始终保持低于1毫秒的P99延迟。请阅读基准报告了解详情。
-
简易部署和管理: 使用Kubernetes Operator for Dragonfly轻松部署和管理。
-
简单的垂直扩展: 与Redis Cluster和其他多节点方法相比,垂直扩展单个节点更快、更便宜且更可预测。
-
TB级工作负载: Dragonfly的多线程、无共享架构可以垂直扩展到每个实例1TB的内存。
-
无需重新分片: Dragonfly自动在CPU之间分片数据,消除了重新分片的复杂性。
-
更好的内存利用率: Dragonfly独特的数据结构允许将多余的计算用于压缩,从而实现更好的内存利用率。
-
异步处理: Dragonfly异步运行任务,使您可以从每个CPU中挤出更多的循环。
-
更低的硬件成本: Dragonfly充分利用所有硬件资源,使您可以在更小的实例上运行相同的工作负载。
-
高效快照: 快照期间的内存使用量可预测地低。与Redis相比,快照完成速度快达30倍。
-
Redis/Memcached API兼容: 已经在使用Redis或Memcached?无需更改代码即可开始享受更高的速度和性能。
-
单个二进制文件: 一个可以部署在Docker、K8或任何您选择的地方的单个二进制文件。
-
本地开发、CI/CD: 已经在使用Redis或Memcached?无需更改代码即可开始享受更高的速度和性能。
-
简单的监控: 本地支持Prometheus,无需代理。
-
云快照: 无缝地从兼容S3的存储解决方案中直接写入和读取快照文件。
快速安装与使用
通过 Docke,可以快速体验 Dragonfly 的强大功能。以下是简单的安装步骤:
1. 下载官方 Docker Compose 文件
wget https://raw.githubusercontent.com/dragonflydb/dragonfly/main/contrib/docker/docker-compose.yml
2. 启动 Dragonfly
docker compose up -d
3. 确认服务是否启动成功
docker ps | grep dragonfly
4. 查看日志
docker logs -f docker_dragonfly_1
启动完成后,Dragonfly 将立即响应 http
和 redis
请求。你可以使用 redis-cli 连接到 localhost:6379
端口,也可以通过浏览器访问 http://localhost:6379
。
5. 使用 Redis 客户端连接
redis-cli
127.0.0.1:6379> set hello world
OK
127.0.0.1:6379> keys *
1) "hello"
127.0.0.1:6379> get hello
"world"
127.0.0.1:6379>
总结
Dragonfly 以其卓越的性能、多线程架构和对 Redis 与 Memcached 的全面兼容,成为了内存数据存储领域中的一匹黑马。它不仅能够满足高并发、低延迟的需求,还为用户提供了更高的灵活性和更低的硬件成本。
无论你是在构建实时游戏服务器、进行大规模数据分析,还是处理高频金融交易,Dragonfly 都能成为你值得信赖的存储解决方案。
开源地址:https://github.com/dragonflydb/dragonfly