Engula Client Compatibility Guide

Engula is designed to be a drop-in replacement for Valkey/Redis 7.2. This page outlines what that means for application developers and which client libraries you can use.

Protocol and API Compatibility

  • Engula implements RESP2/RESP3 and the command set compatible with Valkey/Redis 7.2.
  • Applications using Redis or Valkey 7.2 can point existing client code to Engula without changes in most cases.
  • If you use Engula-specific extensions beyond the Redis/Valkey 7.2 surface, those calls may not work when switching back to vanilla Redis/Valkey.

Tracking the Ecosystem

  • We closely follow Valkey/Redis 7.2 semantics across commands, clustering, Pub/Sub, streams, transactions, and scripting.
  • Any observable differences are documented and mitigated where feasible to preserve predictable behavior.

Client Libraries

Because Engula adheres to the Valkey/Redis 7.2 protocol and API, you can use any client that supports Redis OSS 7.2 or Valkey 7.2+.

These catalogs list actively maintained clients across languages and highlight advanced capabilities (for example, read-from-replica, smart backoff, client-side caching). Clients that work with Valkey/Redis 7.2 work with Engula.

Notes on Advanced Client Features

  • Features such as read-from-replica, cluster-aware SCAN, client-side caching, and persistent connection pools interoperate with Engula as long as they rely on Redis/Valkey 7.2-compatible commands and capabilities.
  • Some features require client-side configuration; consult the specific client’s documentation. Engula provides the expected server behavior.

Officially Verified Clients

We continuously test Engula against a broad set of popular SDKs. While most Redis/Valkey 7.2 clients should “just work,” the following categories are regularly exercised in CI:

  • Go: go-redis, valkey-go
  • Java: jedis, valkey-java, redisson
  • JavaScript/TypeScript: node-redis, iovalkey
  • Python: redis-py, valkey-py
  • PHP: phpredis, predis
  • Others: additional Valkey/Redis 7.2-compatible clients

If your preferred client isn’t listed but advertises Redis/Valkey 7.2 support, it is expected to work with Engula. Please report any issues so we can expand our verified list.

Migration Guidance

  • Point your client to Engula using the same connection settings you would use for Valkey/Redis 7.2 (authentication, TLS, timeouts, pooling).
  • Keep your client library up to date to benefit from fixes and features validated against Redis/Valkey 7.2.
  • When enabling features like client-side caching or read-from-replica, follow the client’s documentation. Engula matches the server-side expectations of Valkey/Redis 7.2.

Compatibility Test Coverage

We run systematic compatibility tests against major Redis clients, covering connectivity, core commands, transactions, Pub/Sub, pipelining, Lua scripting, streams, and cluster mode. For detailed test procedures and results:

We continuously update the test suite and publish notes and fixes for any gaps discovered. If your preferred client is not yet covered, feel free to request coverage or contribute test cases.

Getting Help

If you encounter unexpected behavior with a Valkey/Redis 7.2 client:

  • Open an issue with a minimal reproduction, client and server versions, and configuration.
  • Review the client’s issue tracker for Redis/Valkey 7.2 compatibility notes.
  • Contact the Engula team; we collaborate with client maintainers to resolve edge cases.

In short: if it works with Valkey/Redis 7.2, it should work with Engula. Use the official Valkey and Redis client directories to choose the library that best fits your language and feature needs.