Dragonfly 入门实践:10 分钟跑通一个 Redis/Memcached 替代品

Dragonfly 入门实践:10 分钟跑通一个 Redis/Memcached 替代品
Dragonfly 入门实践10 分钟跑通一个 Redis/Memcached 替代品【免费下载链接】dragonflyA modern replacement for Redis and Memcached项目地址: https://gitcode.com/GitHub_Trending/dr/dragonflyDragonfly仓库中又称 DragonflyDB是一个用 C 编写的内存数据存储引擎同时兼容 Redis 与 Memcached 协议应用零改造即可接入。它面向多核设计吞吐可随核心数线性扩展适合需要替代 Redis/Memcached、又希望榨干多核 CPU 的开发者。拿到代码并构建出二进制Dragonfly 没有发行版软件包官方推荐两条路直接跑官方镜像或从源码编译。新手建议先用镜像跑通再回头编译。方式一Docker 镜像最快仓库的 快速上手文档 给出的启动命令如下docker run --networkhost --ulimit memlock-1 docker.dragonflydb.io/dragonflydb/dragonfly--ulimit memlock-1用于解除内存锁定限制Dragonfly 依赖大页内存缺了它初始化可能报错。方式二源码编译git clone https://gitcode.com/GitHub_Trending/dr/dragonfly cd dragonfly make release构建完成后可执行文件在build-release/目录下主程序是dragonfly附带一个压测工具dfly_bench。构建细节含依赖安装可参考仓库内docs/build-from-source.md以最新文档为准。三步验证服务跑起来了假设已用方式二编译出二进制最小启动命令是./build-release/dragonfly不加任何参数时它监听6379端口同时应答 Redis 协议和 HTTP 请求管理接口。三个最常用的参数--port数据端口默认6379--admin_port管理端口HTTP API、监控指标走这里--bind绑定地址容器内常用0.0.0.0。启动后另开一个终端用任意 Redis 客户端验证redis-cli -p 6379 set hello world redis-cli -p 6379 get hello返回world即说明服务正常。也可以用浏览器访问http://localhost:6379Dragonfly 原生提供 HTTP 接口这是它和 Redis 的一个区别。常用配置项对照Dragonfly 的配置全部是命令行参数没有 TOML/INI 配置文件。两种等效写法命令行./dragonfly --maxmemory100MB环境变量DFLY_maxmemory100MB ./dragonfly下划线自动映射为参数名服务运行时还能通过redis-cli执行CONFIG GET / CONFIG SET动态调整部分参数参数注册逻辑见 config_registry.h。新手最常用的 6 个配置项参数默认值说明--port6379数据服务端口--memcached_port0关闭启用 Memcached 协议端口--bind0.0.0.0监听地址多网卡按需收窄--maxmemory0不限制内存上限支持100MB、1GB写法--dbfilenamedump-{timestamp}快照文件名--dir当前目录快照保存目录--requirepass空访问密码也支持DFLY_PASSWORD环境变量--proactor_threadsCPU 核数工作线程数一般保持默认一段精简的启动示例./build-release/dragonfly \ --port 6379 \ --admin_port 6380 \ --maxmemory 2GB \ --dbfilename dump-$(date %s).rdb \ --dir /var/lib/dragonfly \ --requirepass MyPass需要定期落盘时再加--snapshot_croncron 表达式替代了 Redis 里save的写法。目录结构速览只保留对新手最有认知价值的几个位置src/server/核心所在。命令实现string、hash、zset 等 family 文件、事务、快照、集群逻辑都在这里src/facade/协议层。RESP 解析器、Redis/Memcached 协议适配、回复构建src/core/自研数据结构与内存管理如 Dash 哈希表、段式分配器docs/设计文档differences.md讲清了它与 Redis 的行为差异cluster-mode.md讲集群tests/Python 集成测试跑一个测试就是最真实的使用示例。下一步遇到具体行为差异先翻 docs/differences.md集群用法看 docs/cluster-mode.md更完整的参数清单以官方最新文档为准。一个新手常踩的坑Dragonfly 默认没有开启快照--maxmemory设为 0 表示不限制也不淘汰生产环境建议同时配好--dir和--snapshot_cron否则重启即丢数据。【免费下载链接】dragonflyA modern replacement for Redis and Memcached项目地址: https://gitcode.com/GitHub_Trending/dr/dragonfly创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

最新新闻

日新闻

周新闻

月新闻