Engula 的配置文件语法与 Valkey 7.2 保持兼容;从 Redis 7.2 迁移时,通用配置通常也可以按兼容语义理解。除本文列出的 engula-* 专属配置外,端口、持久化、复制、内存淘汰、ACL、TLS、慢日志等通用配置以 Valkey 7.2 参数为主要参考。
这意味着迁移时通常不需要重写已有 redis.conf。更常见的做法是先复用原配置,再按评估目标补充 Engula 专属项,例如迁移完成后是否启用 Engula RDB、是否限制进入 earena 的对象大小、是否配置 license 文件。
Engula 可以在没有配置文件的情况下使用内置默认值启动。这种方式适合临时测试,不建议用于生产。生产环境应使用明确的配置文件,并把运行时变更同步回配置管理系统。
常见启动方式:
如果已有 Redis / Valkey 配置,可以直接作为主配置文件使用,再在文件末尾加入 Engula 片段:
把 include 放在末尾更容易管理覆盖关系。通用 Redis / Valkey 配置保留在主文件里,Engula 专属配置集中放在片段文件里,便于升级和审计。
多实例部署时,至少为每个实例隔离这些配置:
| 配置项 | 目的 |
|---|---|
port / bind |
避免监听端口或地址冲突 |
dir |
隔离 RDB / AOF / 临时文件目录 |
logfile |
隔离日志输出 |
replicaof |
配置副本关系 |
requirepass / masterauth |
对齐认证配置 |
配置指令采用空格分隔格式:
例如:
参数中包含空格时使用单引号或双引号:
完整的通用配置项请参考 Valkey 7.2 配置文档。该链接用于通用语法与参数说明参考;具体可用项、默认值和 Engula 专属配置以本文链接的版本化配置文件为准。
所有配置指令也可以通过命令行传入。命令行形式和配置文件一致,只是配置名需要加 -- 前缀:
命令行参数适合测试、容器启动参数或临时覆盖。生产环境仍建议把最终配置落回文件。
Engula 支持 Redis / Valkey 的运行时配置命令:
并非所有配置都能运行时修改。标记为启动时生效的配置必须写入配置文件并重启实例。
Engula 专属项是 hidden config,不会出现在 CONFIG GET * 的结果里。查询时请使用完整名称:
运行时修改示例:
其中 engula-rdb 与 engula-disable-* 适用于 Engula 2.2 及以上版本;旧版本请以对应版本的配置文件为准。
运行时修改不会自动写回配置文件。需要持久化时,优先修改配置管理系统中的源配置文件;如果使用 include 片段或自动化配置管理,请先确认 CONFIG REWRITE 的写回位置和格式符合预期,再在生产环境使用。
具体配置项以配置文件文本为准。本文只说明如何选择和使用这些文件;后续配置项新增或变更时,优先更新对应版本的 .conf 文件。
Engula 2.2 配置文件: full.conf 和 engula-only.conf。
Engula 2.1 配置文件: full.conf 和 engula-only.conf。
Engula 2.0 配置文件: full.conf 和 engula-only.conf。
full.conf 是对应版本的完整 Engula 配置文件,包含 Redis / Valkey 兼容配置和 Engula 专属配置。engula-only.conf 只包含 engula-* 配置,适合通过 include 追加到已有 Redis / Valkey 配置后面。
不同版本的 engula-* 配置并不完全相同。升级时不要把旧版本的 Engula 配置片段直接复制到新版本,请以目标版本的 engula-only.conf 为准。
engula-rdb 1 会让本地 SAVE / BGSAVE 使用 Engula RDB。该模式主要用于集群节点都已切换为 Engula 后,提升 RDB SAVE / LOAD 等运维效率。迁移或回滚观察阶段,如果仍需要 Redis / Valkey 7.2 节点作为回退路径,建议使用兼容传统 RDB 的配置,待迁移完成后再评估是否启用。
复制场景还会结合对端是否声明支持 Engula RDB 能力来决定是否回退传统 RDB;上线前仍建议在测试环境验证 SAVE / LOAD 与复制链路。
当需要把 RDB 交给原生 Redis / Valkey 工具、跨版本排查、对接尚未支持 Engula RDB 的链路,或迁移 / 回滚观察阶段仍保留 Redis / Valkey 7.2 节点时,使用传统 RDB 更稳妥。
超过阈值的大 value 会回退到普通对象存储。该配置适合在大 value 占比较高的场景中控制 earena 的适用范围。
engula-earena-max-value-size 适用于 Engula 2.1 及以上版本;engula-enable-earena 和 engula-disable-* 适用于 Engula 2.2 及以上版本。
缓存模式使用的是 Redis 7.2 兼容配置。达到内存上限后,实例会按配置的淘汰策略释放 key。Engula 的 earena、压缩和 RDB 配置可以与缓存配置同时使用。
engula-* 项。dir、logfile、port,避免复制或集群部署时互相覆盖。CONFIG GET <exact-name> 检查 hidden config,不要用 CONFIG GET * 判断 engula-* 是否存在。engula-disable-string / engula-disable-set / engula-disable-hash(Engula 2.2+)只影响后续写入,不会立即迁移已存在数据。Engula 的配置体系面向低成本迁移:当前版本主要兼容 Valkey 7.2 的配置参数;从 Redis 7.2 迁移时,通用配置通常可以按兼容语义理解。Engula 只在 engula-* 命名空间增加自己的能力开关。
除本文明确列出的 Engula 专属项外,其余配置项、默认行为和调优方法请参考 Valkey 7.2 配置文档;最终以目标 Engula 版本的配置文件为准。