Engula Client Compatibility Guide

Engula is designed as a drop-in replacement for Valkey/Redis 7.2, ensuring seamless interoperability for applications and client libraries built on top of the Redis ecosystem. This guide explains what that means for developers, details verified client support, and provides guidance for ensuring consistent compatibility.

Protocol and API Compatibility

  • Protocol Support: Engula fully implements both RESP2 and RESP3, matching the complete command set of Valkey/Redis 7.2.
  • Zero Code Changes: Applications already using Redis or Valkey 7.2 can generally connect to Engula without modification to existing code or configuration.
  • Engula Extensions: Some Engula-specific enhancements may not be compatible with stock Redis or Valkey. If portability is required, avoid calls outside the Redis/Valkey 7.2 command surface.

Ecosystem Consistency

Engula closely tracks Valkey/Redis 7.2 semantics across the full feature set, including:

  • Core Commands – CRUD, key, and data structure operations
  • Cluster Mode – Slot management, cluster topology updates, and redirection semantics
  • Pub/Sub and Streams – Same message distribution and consumer group patterns
  • Transactions and Scripting – Identical atomicity, isolation, and evaluation behavior

Any observable differences in behavior are carefully documented and—where feasible—mitigated to ensure predictable, Redis-compatible behavior.

Client Libraries

Since Engula conforms to the Valkey/Redis 7.2 protocol and API, it can interoperate with any client that supports Redis OSS 7.2 or Valkey 7.2 and later.

These directories list officially maintained and validated clients across programming languages, along with feature support such as read-from-replica, smart backoff, and client-side caching. Clients that function correctly with Valkey or Redis 7.2 will work identically with Engula.

Advanced Client Features

Engula supports advanced client behaviors as defined by Valkey and Redis 7.2. The following capabilities are fully interoperable, provided they use standard protocol commands:

  • Read from Replica – Read operations from secondary replicas for load distribution
  • Cluster-Aware SCAN – Seamless scanning across cluster nodes
  • Client-Side Caching – Cache coherency via server-assisted invalidation
  • Persistent Connection Pools – Connection reuse for improved performance

Note: Some capabilities require client-side configuration or runtime flags. Consult your client's documentation for setup details—Engula provides the expected server-side support.

Officially Verified Clients

Engula is continuously validated against a diverse set of leading Redis/Valkey clients as part of its CI testing pipeline. While almost all clients compatible with Redis/Valkey 7.2 should operate without issue, the following have been explicitly verified:

Language Commonly Verified Clients
Go go-redis, valkey-go
Java jedis, valkey-java, redisson
JavaScript / TypeScript node-redis, iovalkey
Python redis-py, valkey-py
PHP phpredis, predis

If your preferred client is not listed but declares Valkey/Redis 7.2 support, it is expected to be fully compatible. Please report any anomalies so they can be evaluated and added to our verified coverage set.

Migration Guidelines

Migrating an application from Valkey or Redis 7.2 to Engula is straightforward:

  1. Use identical connection settings (authentication, TLS, timeouts, connection pooling).
  2. Keep your client library up to date to incorporate the latest fixes for Redis/Valkey 7.2 command semantics.
  3. Follow client-specific documentation when enabling features like client-side caching, read-from-replica, or Pub/Sub auto-reconnect. Engula matches the expected server-side behaviors for these capabilities.

Compatibility Test Coverage

Engula conducts automated compatibility validation against major Redis client SDKs, covering:

  • Connectivity and command execution
  • Data structures and transactions
  • Pub/Sub and Streams
  • Pipelining and Lua scripting
  • Cluster mode processing

For further details:

The Engula team continuously refines its test suite to maintain reliability and promptly address any discovered discrepancies. If your chosen client is not yet tested, community contributions and pull requests are welcome.

Getting Help

If you experience unexpected client behavior or differences in protocol handling:

  • Submit a detailed issue including version information, configuration, and a minimal reproduction snippet.
  • Check your client's issue tracker or release notes for Redis/Valkey 7.2-related patches.
  • Contact the Engula Team at support@montplex.com — we work directly with client maintainers to ensure alignment and interoperability.

In Summary

If it works with Valkey or Redis 7.2, it works with Engula. Select your client from the official Valkey or Redis directories, and enjoy seamless compatibility with Engula’s high-performance, memory-efficient architecture.