Engula uses configuration syntax compatible with Valkey 7.2. When migrating from Redis 7.2, common settings can usually be understood through the same compatibility model. Except for the engula-* directives documented here, common settings such as networking, persistence, replication, memory eviction, ACL, TLS, and logging primarily follow Valkey 7.2 configuration parameters.
In practice, migration rarely requires rewriting an existing redis.conf. Start from the current Redis / Valkey configuration, then add Engula-specific directives only where they are needed, such as whether to enable Engula RDB after migration, earena size limits, or license file path.
Engula can start with built-in defaults and no configuration file. That mode is useful for quick tests, but production deployments should use an explicit configuration file and keep runtime changes synchronized with configuration management.
Typical startup:
If you already maintain a Redis / Valkey configuration file, use it as the main file and include a small Engula fragment near the end:
Keeping the include near the end makes override order easier to reason about. General Redis / Valkey settings stay in the main file, while Engula-specific settings stay in a focused fragment that is easier to audit during upgrades.
When running multiple instances, isolate at least these settings per instance:
| Directive | Purpose |
|---|---|
port / bind |
Avoid listener conflicts |
dir |
Isolate RDB / AOF / temporary files |
logfile |
Isolate logs |
replicaof |
Configure replication topology |
requirepass / masterauth |
Align authentication settings |
Configuration directives use a whitespace-separated format:
Examples:
Quote arguments that contain spaces:
For the full list of common directives, see the Valkey 7.2 configuration documentation. Use that link as a reference for common syntax and parameters; concrete availability, defaults, and Engula-specific directives are governed by the versioned configuration files linked below.
Every configuration directive can also be passed on the command line. The command-line form uses the same directive name with a -- prefix:
Command-line overrides are useful for tests, container entrypoints, and temporary changes. For production, keep the final values in configuration files.
Engula supports the Redis / Valkey runtime configuration workflow:
Not every directive is runtime-modifiable. Directives marked as startup-only must be set in the configuration file before the instance starts.
Engula-specific directives are hidden configs. They are not returned by CONFIG GET *, so query them by exact name:
Runtime change examples:
engula-rdb and engula-disable-* apply to Engula 2.2 and later; for older versions, use the configuration file for that version as the reference.
Runtime changes are not automatically written back to the configuration file. To persist them, prefer updating the source configuration in your configuration-management system. If you use include fragments or automated config management, verify where and how CONFIG REWRITE writes the file before using it in production.
Treat the linked configuration text files as the source of truth for concrete directives. This page explains how to choose and use them; when directives are added or changed, update the relevant .conf file first.
Configuration files for Engula 2.2: full.conf and engula-only.conf.
Configuration files for Engula 2.1: full.conf and engula-only.conf.
Configuration files for Engula 2.0: full.conf and engula-only.conf.
full.conf is the complete Engula configuration file for the selected version, including Redis / Valkey compatible settings and Engula-specific settings. engula-only.conf contains only engula-* directives and is intended for use through include after an existing Redis / Valkey configuration.
The available engula-* directives differ by version. During upgrades, do not copy an old Engula fragment directly into the new version; start from the target version's engula-only.conf.
With engula-rdb 1, local SAVE / BGSAVE use the Engula RDB format. This mode is mainly intended to improve RDB SAVE / LOAD operational efficiency after all cluster nodes have been migrated to Engula. During migration and rollback observation, if Redis / Valkey 7.2 nodes still need to remain available as a fallback path, use traditional-RDB compatibility first and evaluate Engula RDB after the migration is complete.
Replication paths also consider whether the peer declares Engula RDB capability and may fall back to traditional RDB when needed; still validate SAVE / LOAD and replication behavior in a test environment before production rollout.
Use traditional RDB when handing files to native Redis / Valkey tooling, debugging across versions, integrating with a path that does not support Engula RDB yet, or keeping Redis / Valkey 7.2 nodes available during migration / rollback observation.
Values above the threshold fall back to normal object storage. This is useful when workloads contain many large values and you want to control which records enter earena.
engula-earena-max-value-size applies to Engula 2.1 and later; engula-enable-earena and engula-disable-* apply to Engula 2.2 and later.
Cache mode uses Redis 7.2 compatible configuration. Once the memory limit is reached, keys are evicted according to the configured policy. Engula's earena, compression, and RDB settings can be used together with cache settings.
engula-* directives.dir, logfile, and port to avoid overlap in replication or cluster deployments.CONFIG GET <exact-name> for hidden configs. Do not use CONFIG GET * to decide whether an engula-* directive exists.engula-disable-string, engula-disable-set, and engula-disable-hash (Engula 2.2+) affect later writes only; existing data is not migrated immediately.Engula is designed for low-cost migration: the current version primarily follows Valkey 7.2 configuration parameters, and Redis 7.2 configurations can usually be migrated through the same compatibility model. Engula-specific capabilities live under the engula-* namespace.
For directives not explicitly covered on this page, use the Valkey 7.2 configuration documentation for common defaults, behavior, and tuning guidance; the target Engula version's configuration file remains the final reference.