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的存储解决方案中直接写入和读取快照文件。
安装
# 下载官方 Docker Compose 文件
wget https://raw.githubusercontent.com/dragonflydb/dragonfly/main/contrib/docker/docker-compose.yml
# 启动
docker compose up -d
# 确认已打开
docker ps | grep dragonfly
# ac94b5ba30a0 docker.dragonflydb.io/dragonflydb/dragonfly "entrypoint.sh drago…" 45 seconds ago Up 31 seconds 0.0.0.0:6379->6379/tcp, :::6379->6379/tcp docker_dragonfly_1
# 日志记录
docker logs -f docker_dragonfly_1
Dragonfly 将立即响应 http
和 redis
请求!可以使用 redis-cli 连接到 localhost:6379
或打开浏览器访问 http://localhost:6379
和 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>