Document Version: v2.1 Last Updated: 2025-09-17 Maintained by: Engula Team
Engula achieves compatibility by implementing a kernel-level storage engine replacement within the Redis core architecture—preserving Redis’s protocol layer, command processing pipeline, and client interaction ecosystem. This approach ensures functional and behavioral equivalence between Redis and Engula at the user and client levels.
At both the design and implementation layers, Engula 2.1 and Redis 7.2 reach theoretical 100% compatibility, covering both protocol and semantic behavior. Applications and client libraries require no code changes or replacements to run seamlessly on Engula.
Validate the protocol and data structure compatibility between Engula 2.1 and Redis 7.2, ensuring full consistency at the command and data-operation level.
make test test suite for accurate comparison.Data structure consistency validated across:
Redis’s native integration testing framework uses Tcl scripts (test.tcl + unit/*.tcl) to drive redis-server and redis-cli through the RESP protocol, verifying expected versus actual responses.
Tests are executed via runtest.tcl, which supports:
This structure ensures high reproducibility and low coupling with Redis’s internal implementations.
runtest.tcl to invoke client-side command execution against the Engula server.| Category | Test Files |
|---|---|
| Scan and Sorting | unit/scan, unit/sort |
| Core Data Types | unit/type/string, unit/type/incr, unit/type/list, unit/type/list-2, unit/type/list-3, unit/type/set, unit/type/zset, unit/type/hash |
| Streams | unit/type/stream, unit/type/stream-cgroups |
| Pub/Sub | unit/pubsub, unit/pubsubshard |
| Bit Operations | unit/bitops, unit/bitfield |
| Expiration | unit/expire |
| Advanced Structures | unit/geo, unit/hyperloglog |
Execution results are captured in output.log, generated by Engula CompatQuick, which includes logs for each individual test case:

Official testing tool image:
registry.cn-guangzhou.aliyuncs.com/montplex/engula-compat-quick
Engula CompatQuick runs as a Docker container and supports Linux and macOS systems with Docker installed.
Recommended configuration:
Execution will display a runtime interface similar to:

Upon completion, a summary.html report will be generated.
Open the file in your browser for a visual overview of compatibility results:

Report contents:
A: Almost all Redis test cases are included; only a few have been excluded. Specifically, only debug and internal validation test cases were removed, because they depend on Redis's original internal memory layout and are not applicable to Engula. Engula uses a distinct memory engine implementation; therefore, certain debug-focused cases were either omitted or adapted. These adjustments do not impact functional compatibility or application interoperability with standard Redis behavior. Engula CompatQuick provides a fast and reliable way to validate Engula's compatibility with Redis 7.2, ensuring protocol integrity, data-structure accuracy, and operation consistency across the Redis ecosystem.